feat: xtext, fonctionne presque

This commit is contained in:
Laurent Fainsin 2021-12-03 10:02:04 +01:00
parent dbbc56c241
commit f5b839d192
21 changed files with 8961 additions and 9379 deletions

View file

@ -2,14 +2,17 @@
"Explorateur": { "Explorateur": {
"taille": 3, "taille": 3,
"connaissances": [], "connaissances": [],
"objets": [tentative, test "objets": [
"tentative",
"tentative",
"tentative"
] ]
}, },
"Territoire": { "Territoire": {
"Lieux": [ "Lieux": [
{ {
"nom": Enigme, "nom": "Énigme",
"deposable": false, "deposable": "false",
"depart": "true", "depart": "true",
"fin": "false", "fin": "false",
"personnes": [ "personnes": [
@ -17,7 +20,7 @@
], ],
"descriptions": [ "descriptions": [
{ {
"texte": "départ", "texte": "lieu de départ",
"condition": "true" "condition": "true"
} }
], ],
@ -27,32 +30,32 @@
{ {
"nom": "Succès", "nom": "Succès",
"deposable": "false", "deposable": "false",
"description": [ "depart": "false",
"fin": "true",
"personnes": [],
"descriptions": [
{ {
"nom": "lieu succès", "texte": "lieu succès",
"condition": "true" "condition": "true"
} }
], ],
"depart": "false", "objets": [],
"fin": "true", "connaissances": []
"connaissances": [],
"personnes": [],
"objets": []
}, },
{ {
"nom": "Échec", "nom": "Échec",
"description": [
{
"nom": "lieu échec",
"condition": "true"
}
],
"deposable": "false", "deposable": "false",
"depart": "false", "depart": "false",
"fin": "true", "fin": "true",
"connaissances": [],
"personnes": [], "personnes": [],
"objets": [] "descriptions": [
{
"texte": "lieu échec",
"condition": "true"
}
],
"objets": [],
"connaissances": []
} }
], ],
"Chemins": [ "Chemins": [
@ -60,10 +63,10 @@
"lieu_in": "Énigme", "lieu_in": "Énigme",
"lieu_out": "Succès", "lieu_out": "Succès",
"ouvert": "true", "ouvert": "true",
"visible": "(Réussite)", "visible": "Réussite",
"obligatoire": "true", "obligatoire": "true",
"connaissances_gift": [], "connaissances": [],
"objets_gift": [], "objets_recus": [],
"objets_conso": [], "objets_conso": [],
"descriptions": [ "descriptions": [
{ {
@ -76,10 +79,10 @@
"lieu_in": "Énigme", "lieu_in": "Énigme",
"lieu_out": "Échec", "lieu_out": "Échec",
"ouvert": "true", "ouvert": "true",
"visible": "(tentatives == 0)", "visible": "tentatives == 0",
"obligatoire": "true", "obligatoire": "true",
"connaissances": [], "connaissances": [],
"objets": [], "objets_recus": [],
"objets_conso": [], "objets_conso": [],
"descriptions": [ "descriptions": [
{ {
@ -109,7 +112,7 @@
"visible": "true", "visible": "true",
"descriptions": [ "descriptions": [
{ {
"nom": "Permet de se casser de là", "texte": "Permet de se casser de là",
"condition": "true" "condition": "true"
} }
] ]
@ -118,7 +121,7 @@
"Personnes": [ "Personnes": [
{ {
"nom": "Sphinx", "nom": "Sphinx",
"visible": "(!Reussite && tentative > 0)", "visible": "!Reussite && tentative > 0",
"obligatoire": "true", "obligatoire": "true",
"interactions": [ "interactions": [
{ {
@ -129,18 +132,32 @@
"actions": [ "actions": [
{ {
"visible": "true", "visible": "true",
"fin_interaction": "true",
"connaissances": [ "connaissances": [
"Réussite" "Réussite"
], ],
"objets_recus": [], "objets_recus": [],
"objets_conso": [] "objets_conso": [],
"descriptions" : [
{
"texte": "la bonne réponse",
"condition": "true"
}
]
}, },
{ {
"visible": "true", "visible": "true",
"fin_interaction": "true",
"connaissances": [], "connaissances": [],
"objets_recus": [], "objets_recus": [],
"objets_conso": [ "objets_conso": [
"tentative" "tentative"
],
"descriptions" : [
{
"texte": "la mauvaise réponse",
"condition": "true"
}
] ]
} }
] ]

View file

@ -89,13 +89,13 @@ public class GAMEParser extends AbstractContentAssistParser {
builder.put(grammarAccess.getInteractionAccess().getGroup_20_1(), "rule__Interaction__Group_20_1__0"); builder.put(grammarAccess.getInteractionAccess().getGroup_20_1(), "rule__Interaction__Group_20_1__0");
builder.put(grammarAccess.getInteractionAccess().getGroup_27(), "rule__Interaction__Group_27__0"); builder.put(grammarAccess.getInteractionAccess().getGroup_27(), "rule__Interaction__Group_27__0");
builder.put(grammarAccess.getActionAccess().getGroup(), "rule__Action__Group__0"); builder.put(grammarAccess.getActionAccess().getGroup(), "rule__Action__Group__0");
builder.put(grammarAccess.getActionAccess().getGroup_5(), "rule__Action__Group_5__0"); builder.put(grammarAccess.getActionAccess().getGroup_12(), "rule__Action__Group_12__0");
builder.put(grammarAccess.getActionAccess().getGroup_15(), "rule__Action__Group_15__0"); builder.put(grammarAccess.getActionAccess().getGroup_12_1(), "rule__Action__Group_12_1__0");
builder.put(grammarAccess.getActionAccess().getGroup_15_1(), "rule__Action__Group_15_1__0"); builder.put(grammarAccess.getActionAccess().getGroup_18(), "rule__Action__Group_18__0");
builder.put(grammarAccess.getActionAccess().getGroup_21(), "rule__Action__Group_21__0"); builder.put(grammarAccess.getActionAccess().getGroup_18_1(), "rule__Action__Group_18_1__0");
builder.put(grammarAccess.getActionAccess().getGroup_21_1(), "rule__Action__Group_21_1__0"); builder.put(grammarAccess.getActionAccess().getGroup_24(), "rule__Action__Group_24__0");
builder.put(grammarAccess.getActionAccess().getGroup_27(), "rule__Action__Group_27__0"); builder.put(grammarAccess.getActionAccess().getGroup_24_1(), "rule__Action__Group_24_1__0");
builder.put(grammarAccess.getActionAccess().getGroup_27_1(), "rule__Action__Group_27_1__0"); builder.put(grammarAccess.getActionAccess().getGroup_31(), "rule__Action__Group_31__0");
builder.put(grammarAccess.getDescriptionAccess().getGroup(), "rule__Description__Group__0"); builder.put(grammarAccess.getDescriptionAccess().getGroup(), "rule__Description__Group__0");
builder.put(grammarAccess.getConditionAccess().getGroup(), "rule__Condition__Group__0"); builder.put(grammarAccess.getConditionAccess().getGroup(), "rule__Condition__Group__0");
builder.put(grammarAccess.getConditionAccess().getGroup_1(), "rule__Condition__Group_1__0"); builder.put(grammarAccess.getConditionAccess().getGroup_1(), "rule__Condition__Group_1__0");
@ -175,16 +175,16 @@ public class GAMEParser extends AbstractContentAssistParser {
builder.put(grammarAccess.getInteractionAccess().getObjetsRecusAssignment_20_1_1(), "rule__Interaction__ObjetsRecusAssignment_20_1_1"); builder.put(grammarAccess.getInteractionAccess().getObjetsRecusAssignment_20_1_1(), "rule__Interaction__ObjetsRecusAssignment_20_1_1");
builder.put(grammarAccess.getInteractionAccess().getActionsAssignment_26(), "rule__Interaction__ActionsAssignment_26"); builder.put(grammarAccess.getInteractionAccess().getActionsAssignment_26(), "rule__Interaction__ActionsAssignment_26");
builder.put(grammarAccess.getInteractionAccess().getActionsAssignment_27_1(), "rule__Interaction__ActionsAssignment_27_1"); builder.put(grammarAccess.getInteractionAccess().getActionsAssignment_27_1(), "rule__Interaction__ActionsAssignment_27_1");
builder.put(grammarAccess.getActionAccess().getDescriptionsAssignment_4(), "rule__Action__DescriptionsAssignment_4"); builder.put(grammarAccess.getActionAccess().getVisibleAssignment_3(), "rule__Action__VisibleAssignment_3");
builder.put(grammarAccess.getActionAccess().getDescriptionsAssignment_5_1(), "rule__Action__DescriptionsAssignment_5_1"); builder.put(grammarAccess.getActionAccess().getFinInteractionAssignment_7(), "rule__Action__FinInteractionAssignment_7");
builder.put(grammarAccess.getActionAccess().getVisibleAssignment_10(), "rule__Action__VisibleAssignment_10"); builder.put(grammarAccess.getActionAccess().getConnaissancesAssignment_12_0(), "rule__Action__ConnaissancesAssignment_12_0");
builder.put(grammarAccess.getActionAccess().getConnaissancesAssignment_15_0(), "rule__Action__ConnaissancesAssignment_15_0"); builder.put(grammarAccess.getActionAccess().getConnaissancesAssignment_12_1_1(), "rule__Action__ConnaissancesAssignment_12_1_1");
builder.put(grammarAccess.getActionAccess().getConnaissancesAssignment_15_1_1(), "rule__Action__ConnaissancesAssignment_15_1_1"); builder.put(grammarAccess.getActionAccess().getObjetsRecusAssignment_18_0(), "rule__Action__ObjetsRecusAssignment_18_0");
builder.put(grammarAccess.getActionAccess().getObjetsRecusAssignment_21_0(), "rule__Action__ObjetsRecusAssignment_21_0"); builder.put(grammarAccess.getActionAccess().getObjetsRecusAssignment_18_1_1(), "rule__Action__ObjetsRecusAssignment_18_1_1");
builder.put(grammarAccess.getActionAccess().getObjetsRecusAssignment_21_1_1(), "rule__Action__ObjetsRecusAssignment_21_1_1"); builder.put(grammarAccess.getActionAccess().getObjetsConsoAssignment_24_0(), "rule__Action__ObjetsConsoAssignment_24_0");
builder.put(grammarAccess.getActionAccess().getObjetsConsoAssignment_27_0(), "rule__Action__ObjetsConsoAssignment_27_0"); builder.put(grammarAccess.getActionAccess().getObjetsConsoAssignment_24_1_1(), "rule__Action__ObjetsConsoAssignment_24_1_1");
builder.put(grammarAccess.getActionAccess().getObjetsConsoAssignment_27_1_1(), "rule__Action__ObjetsConsoAssignment_27_1_1"); builder.put(grammarAccess.getActionAccess().getDescriptionsAssignment_30(), "rule__Action__DescriptionsAssignment_30");
builder.put(grammarAccess.getActionAccess().getFinInteractionAssignment_32(), "rule__Action__FinInteractionAssignment_32"); builder.put(grammarAccess.getActionAccess().getDescriptionsAssignment_31_1(), "rule__Action__DescriptionsAssignment_31_1");
builder.put(grammarAccess.getDescriptionAccess().getTexteAssignment_3(), "rule__Description__TexteAssignment_3"); builder.put(grammarAccess.getDescriptionAccess().getTexteAssignment_3(), "rule__Description__TexteAssignment_3");
builder.put(grammarAccess.getDescriptionAccess().getConditionAssignment_7(), "rule__Description__ConditionAssignment_7"); builder.put(grammarAccess.getDescriptionAccess().getConditionAssignment_7(), "rule__Description__ConditionAssignment_7");
builder.put(grammarAccess.getConditionAccess().getConditionAssignment_0(), "rule__Condition__ConditionAssignment_0"); builder.put(grammarAccess.getConditionAccess().getConditionAssignment_0(), "rule__Condition__ConditionAssignment_0");

View file

@ -1,8 +1,7 @@
'!'=59 '!'=58
'!='=18 '!='=18
'"Chemins"'=35 '"Chemins"'=35
'"Connaissances"'=27 '"Connaissances"'=27
'"Description"'=54
'"Explorateur"'=20 '"Explorateur"'=20
'"Lieux"'=34 '"Lieux"'=34
'"Objets"'=24 '"Objets"'=24
@ -16,7 +15,7 @@
'"deposable"'=37 '"deposable"'=37
'"descriptions"'=41 '"descriptions"'=41
'"fin"'=39 '"fin"'=39
'"fin_interaction"'=55 '"fin_interaction"'=54
'"interactions"'=52 '"interactions"'=52
'"lieu_in"'=42 '"lieu_in"'=42
'"lieu_out"'=43 '"lieu_out"'=43
@ -30,9 +29,9 @@
'"ouvert"'=44 '"ouvert"'=44
'"personnes"'=40 '"personnes"'=40
'"taille"'=31 '"taille"'=31
'"texte"'=56 '"texte"'=55
'"visible"'=45 '"visible"'=45
'&&'=58 '&&'=57
','=22 ','=22
':'=21 ':'=21
'<'=13 '<'=13
@ -45,14 +44,14 @@
'false'=12 'false'=12
'true'=11 'true'=11
'{'=19 '{'=19
'||'=57 '||'=56
'}'=30 '}'=30
RULE_ANY_OTHER=10 RULE_ANY_OTHER=10
RULE_ID=5 RULE_ID=6
RULE_INT=4 RULE_INT=4
RULE_ML_COMMENT=7 RULE_ML_COMMENT=7
RULE_SL_COMMENT=8 RULE_SL_COMMENT=8
RULE_STRING=6 RULE_STRING=5
RULE_WS=9 RULE_WS=9
T__11=11 T__11=11
T__12=12 T__12=12
@ -102,4 +101,3 @@ T__55=55
T__56=56 T__56=56
T__57=57 T__57=57
T__58=58 T__58=58
T__59=59

View file

@ -158,10 +158,10 @@ public abstract class AbstractGAMEProposalProvider extends TerminalsProposalProv
public void completeInteraction_Actions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { public void completeInteraction_Actions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
} }
public void completeAction_Descriptions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { public void completeAction_Visible(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
} }
public void completeAction_Visible(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { public void completeAction_FinInteraction(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
} }
public void completeAction_Connaissances(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { public void completeAction_Connaissances(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@ -173,7 +173,7 @@ public abstract class AbstractGAMEProposalProvider extends TerminalsProposalProv
public void completeAction_ObjetsConso(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { public void completeAction_ObjetsConso(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
} }
public void completeAction_FinInteraction(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { public void completeAction_Descriptions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
} }
public void completeDescription_Texte(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { public void completeDescription_Texte(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {

View file

@ -108,18 +108,18 @@
eType="#//Action" containment="true"/> eType="#//Action" containment="true"/>
</eClassifiers> </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Action"> <eClassifiers xsi:type="ecore:EClass" name="Action">
<eStructuralFeatures xsi:type="ecore:EReference" name="descriptions" upperBound="-1"
eType="#//Description" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="visible" eType="#//Condition" <eStructuralFeatures xsi:type="ecore:EReference" name="visible" eType="#//Condition"
containment="true"/> containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="finInteraction" eType="#//Condition"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="connaissances" unique="false" <eStructuralFeatures xsi:type="ecore:EAttribute" name="connaissances" unique="false"
upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="objetsRecus" unique="false" <eStructuralFeatures xsi:type="ecore:EAttribute" name="objetsRecus" unique="false"
upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="objetsConso" unique="false" <eStructuralFeatures xsi:type="ecore:EAttribute" name="objetsConso" unique="false"
upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="finInteraction" eType="#//Condition" <eStructuralFeatures xsi:type="ecore:EReference" name="descriptions" upperBound="-1"
containment="true"/> eType="#//Description" containment="true"/>
</eClassifiers> </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Description"> <eClassifiers xsi:type="ecore:EClass" name="Description">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="texte" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="texte" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

View file

@ -74,12 +74,12 @@
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GAME.ecore#//Interaction/actions"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GAME.ecore#//Interaction/actions"/>
</genClasses> </genClasses>
<genClasses ecoreClass="GAME.ecore#//Action"> <genClasses ecoreClass="GAME.ecore#//Action">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GAME.ecore#//Action/descriptions"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GAME.ecore#//Action/visible"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GAME.ecore#//Action/visible"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GAME.ecore#//Action/finInteraction"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute GAME.ecore#//Action/connaissances"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GAME.ecore#//Action/connaissances"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute GAME.ecore#//Action/objetsRecus"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GAME.ecore#//Action/objetsRecus"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute GAME.ecore#//Action/objetsConso"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GAME.ecore#//Action/objetsConso"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GAME.ecore#//Action/finInteraction"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GAME.ecore#//Action/descriptions"/>
</genClasses> </genClasses>
<genClasses ecoreClass="GAME.ecore#//Description"> <genClasses ecoreClass="GAME.ecore#//Description">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute GAME.ecore#//Description/texte"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GAME.ecore#//Description/texte"/>

View file

@ -16,12 +16,12 @@ import org.eclipse.emf.ecore.EObject;
* The following features are supported: * The following features are supported:
* </p> * </p>
* <ul> * <ul>
* <li>{@link fr.n7.gAME.Action#getDescriptions <em>Descriptions</em>}</li>
* <li>{@link fr.n7.gAME.Action#getVisible <em>Visible</em>}</li> * <li>{@link fr.n7.gAME.Action#getVisible <em>Visible</em>}</li>
* <li>{@link fr.n7.gAME.Action#getFinInteraction <em>Fin Interaction</em>}</li>
* <li>{@link fr.n7.gAME.Action#getConnaissances <em>Connaissances</em>}</li> * <li>{@link fr.n7.gAME.Action#getConnaissances <em>Connaissances</em>}</li>
* <li>{@link fr.n7.gAME.Action#getObjetsRecus <em>Objets Recus</em>}</li> * <li>{@link fr.n7.gAME.Action#getObjetsRecus <em>Objets Recus</em>}</li>
* <li>{@link fr.n7.gAME.Action#getObjetsConso <em>Objets Conso</em>}</li> * <li>{@link fr.n7.gAME.Action#getObjetsConso <em>Objets Conso</em>}</li>
* <li>{@link fr.n7.gAME.Action#getFinInteraction <em>Fin Interaction</em>}</li> * <li>{@link fr.n7.gAME.Action#getDescriptions <em>Descriptions</em>}</li>
* </ul> * </ul>
* *
* @see fr.n7.gAME.GAMEPackage#getAction() * @see fr.n7.gAME.GAMEPackage#getAction()
@ -30,18 +30,6 @@ import org.eclipse.emf.ecore.EObject;
*/ */
public interface Action extends EObject public interface Action extends EObject
{ {
/**
* Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
* The list contents are of type {@link fr.n7.gAME.Description}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Descriptions</em>' containment reference list.
* @see fr.n7.gAME.GAMEPackage#getAction_Descriptions()
* @model containment="true"
* @generated
*/
EList<Description> getDescriptions();
/** /**
* Returns the value of the '<em><b>Visible</b></em>' containment reference. * Returns the value of the '<em><b>Visible</b></em>' containment reference.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
@ -64,6 +52,28 @@ public interface Action extends EObject
*/ */
void setVisible(Condition value); void setVisible(Condition value);
/**
* Returns the value of the '<em><b>Fin Interaction</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Fin Interaction</em>' containment reference.
* @see #setFinInteraction(Condition)
* @see fr.n7.gAME.GAMEPackage#getAction_FinInteraction()
* @model containment="true"
* @generated
*/
Condition getFinInteraction();
/**
* Sets the value of the '{@link fr.n7.gAME.Action#getFinInteraction <em>Fin Interaction</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Fin Interaction</em>' containment reference.
* @see #getFinInteraction()
* @generated
*/
void setFinInteraction(Condition value);
/** /**
* Returns the value of the '<em><b>Connaissances</b></em>' attribute list. * Returns the value of the '<em><b>Connaissances</b></em>' attribute list.
* The list contents are of type {@link java.lang.String}. * The list contents are of type {@link java.lang.String}.
@ -101,25 +111,15 @@ public interface Action extends EObject
EList<String> getObjetsConso(); EList<String> getObjetsConso();
/** /**
* Returns the value of the '<em><b>Fin Interaction</b></em>' containment reference. * Returns the value of the '<em><b>Descriptions</b></em>' containment reference list.
* The list contents are of type {@link fr.n7.gAME.Description}.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
* <!-- end-user-doc --> * <!-- end-user-doc -->
* @return the value of the '<em>Fin Interaction</em>' containment reference. * @return the value of the '<em>Descriptions</em>' containment reference list.
* @see #setFinInteraction(Condition) * @see fr.n7.gAME.GAMEPackage#getAction_Descriptions()
* @see fr.n7.gAME.GAMEPackage#getAction_FinInteraction()
* @model containment="true" * @model containment="true"
* @generated * @generated
*/ */
Condition getFinInteraction(); EList<Description> getDescriptions();
/**
* Sets the value of the '{@link fr.n7.gAME.Action#getFinInteraction <em>Fin Interaction</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Fin Interaction</em>' containment reference.
* @see #getFinInteraction()
* @generated
*/
void setFinInteraction(Condition value);
} // Action } // Action

View file

@ -680,15 +680,6 @@ public interface GAMEPackage extends EPackage
*/ */
int ACTION = 10; int ACTION = 10;
/**
* The feature id for the '<em><b>Descriptions</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int ACTION__DESCRIPTIONS = 0;
/** /**
* The feature id for the '<em><b>Visible</b></em>' containment reference. * The feature id for the '<em><b>Visible</b></em>' containment reference.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
@ -696,7 +687,16 @@ public interface GAMEPackage extends EPackage
* @generated * @generated
* @ordered * @ordered
*/ */
int ACTION__VISIBLE = 1; int ACTION__VISIBLE = 0;
/**
* The feature id for the '<em><b>Fin Interaction</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int ACTION__FIN_INTERACTION = 1;
/** /**
* The feature id for the '<em><b>Connaissances</b></em>' attribute list. * The feature id for the '<em><b>Connaissances</b></em>' attribute list.
@ -726,13 +726,13 @@ public interface GAMEPackage extends EPackage
int ACTION__OBJETS_CONSO = 4; int ACTION__OBJETS_CONSO = 4;
/** /**
* The feature id for the '<em><b>Fin Interaction</b></em>' containment reference. * The feature id for the '<em><b>Descriptions</b></em>' containment reference list.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
* <!-- end-user-doc --> * <!-- end-user-doc -->
* @generated * @generated
* @ordered * @ordered
*/ */
int ACTION__FIN_INTERACTION = 5; int ACTION__DESCRIPTIONS = 5;
/** /**
* The number of structural features of the '<em>Action</em>' class. * The number of structural features of the '<em>Action</em>' class.
@ -1585,17 +1585,6 @@ public interface GAMEPackage extends EPackage
*/ */
EClass getAction(); EClass getAction();
/**
* Returns the meta object for the containment reference list '{@link fr.n7.gAME.Action#getDescriptions <em>Descriptions</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the containment reference list '<em>Descriptions</em>'.
* @see fr.n7.gAME.Action#getDescriptions()
* @see #getAction()
* @generated
*/
EReference getAction_Descriptions();
/** /**
* Returns the meta object for the containment reference '{@link fr.n7.gAME.Action#getVisible <em>Visible</em>}'. * Returns the meta object for the containment reference '{@link fr.n7.gAME.Action#getVisible <em>Visible</em>}'.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
@ -1607,6 +1596,17 @@ public interface GAMEPackage extends EPackage
*/ */
EReference getAction_Visible(); EReference getAction_Visible();
/**
* Returns the meta object for the containment reference '{@link fr.n7.gAME.Action#getFinInteraction <em>Fin Interaction</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the containment reference '<em>Fin Interaction</em>'.
* @see fr.n7.gAME.Action#getFinInteraction()
* @see #getAction()
* @generated
*/
EReference getAction_FinInteraction();
/** /**
* Returns the meta object for the attribute list '{@link fr.n7.gAME.Action#getConnaissances <em>Connaissances</em>}'. * Returns the meta object for the attribute list '{@link fr.n7.gAME.Action#getConnaissances <em>Connaissances</em>}'.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
@ -1641,15 +1641,15 @@ public interface GAMEPackage extends EPackage
EAttribute getAction_ObjetsConso(); EAttribute getAction_ObjetsConso();
/** /**
* Returns the meta object for the containment reference '{@link fr.n7.gAME.Action#getFinInteraction <em>Fin Interaction</em>}'. * Returns the meta object for the containment reference list '{@link fr.n7.gAME.Action#getDescriptions <em>Descriptions</em>}'.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
* <!-- end-user-doc --> * <!-- end-user-doc -->
* @return the meta object for the containment reference '<em>Fin Interaction</em>'. * @return the meta object for the containment reference list '<em>Descriptions</em>'.
* @see fr.n7.gAME.Action#getFinInteraction() * @see fr.n7.gAME.Action#getDescriptions()
* @see #getAction() * @see #getAction()
* @generated * @generated
*/ */
EReference getAction_FinInteraction(); EReference getAction_Descriptions();
/** /**
* Returns the meta object for class '{@link fr.n7.gAME.Description <em>Description</em>}'. * Returns the meta object for class '{@link fr.n7.gAME.Description <em>Description</em>}'.
@ -2329,14 +2329,6 @@ public interface GAMEPackage extends EPackage
*/ */
EClass ACTION = eINSTANCE.getAction(); EClass ACTION = eINSTANCE.getAction();
/**
* The meta object literal for the '<em><b>Descriptions</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EReference ACTION__DESCRIPTIONS = eINSTANCE.getAction_Descriptions();
/** /**
* The meta object literal for the '<em><b>Visible</b></em>' containment reference feature. * The meta object literal for the '<em><b>Visible</b></em>' containment reference feature.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
@ -2345,6 +2337,14 @@ public interface GAMEPackage extends EPackage
*/ */
EReference ACTION__VISIBLE = eINSTANCE.getAction_Visible(); EReference ACTION__VISIBLE = eINSTANCE.getAction_Visible();
/**
* The meta object literal for the '<em><b>Fin Interaction</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EReference ACTION__FIN_INTERACTION = eINSTANCE.getAction_FinInteraction();
/** /**
* The meta object literal for the '<em><b>Connaissances</b></em>' attribute list feature. * The meta object literal for the '<em><b>Connaissances</b></em>' attribute list feature.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
@ -2370,12 +2370,12 @@ public interface GAMEPackage extends EPackage
EAttribute ACTION__OBJETS_CONSO = eINSTANCE.getAction_ObjetsConso(); EAttribute ACTION__OBJETS_CONSO = eINSTANCE.getAction_ObjetsConso();
/** /**
* The meta object literal for the '<em><b>Fin Interaction</b></em>' containment reference feature. * The meta object literal for the '<em><b>Descriptions</b></em>' containment reference list feature.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
* <!-- end-user-doc --> * <!-- end-user-doc -->
* @generated * @generated
*/ */
EReference ACTION__FIN_INTERACTION = eINSTANCE.getAction_FinInteraction(); EReference ACTION__DESCRIPTIONS = eINSTANCE.getAction_Descriptions();
/** /**
* The meta object literal for the '{@link fr.n7.gAME.impl.DescriptionImpl <em>Description</em>}' class. * The meta object literal for the '{@link fr.n7.gAME.impl.DescriptionImpl <em>Description</em>}' class.

View file

@ -33,28 +33,18 @@ import org.eclipse.emf.ecore.util.InternalEList;
* The following features are implemented: * The following features are implemented:
* </p> * </p>
* <ul> * <ul>
* <li>{@link fr.n7.gAME.impl.ActionImpl#getDescriptions <em>Descriptions</em>}</li>
* <li>{@link fr.n7.gAME.impl.ActionImpl#getVisible <em>Visible</em>}</li> * <li>{@link fr.n7.gAME.impl.ActionImpl#getVisible <em>Visible</em>}</li>
* <li>{@link fr.n7.gAME.impl.ActionImpl#getFinInteraction <em>Fin Interaction</em>}</li>
* <li>{@link fr.n7.gAME.impl.ActionImpl#getConnaissances <em>Connaissances</em>}</li> * <li>{@link fr.n7.gAME.impl.ActionImpl#getConnaissances <em>Connaissances</em>}</li>
* <li>{@link fr.n7.gAME.impl.ActionImpl#getObjetsRecus <em>Objets Recus</em>}</li> * <li>{@link fr.n7.gAME.impl.ActionImpl#getObjetsRecus <em>Objets Recus</em>}</li>
* <li>{@link fr.n7.gAME.impl.ActionImpl#getObjetsConso <em>Objets Conso</em>}</li> * <li>{@link fr.n7.gAME.impl.ActionImpl#getObjetsConso <em>Objets Conso</em>}</li>
* <li>{@link fr.n7.gAME.impl.ActionImpl#getFinInteraction <em>Fin Interaction</em>}</li> * <li>{@link fr.n7.gAME.impl.ActionImpl#getDescriptions <em>Descriptions</em>}</li>
* </ul> * </ul>
* *
* @generated * @generated
*/ */
public class ActionImpl extends MinimalEObjectImpl.Container implements Action public class ActionImpl extends MinimalEObjectImpl.Container implements Action
{ {
/**
* The cached value of the '{@link #getDescriptions() <em>Descriptions</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDescriptions()
* @generated
* @ordered
*/
protected EList<Description> descriptions;
/** /**
* The cached value of the '{@link #getVisible() <em>Visible</em>}' containment reference. * The cached value of the '{@link #getVisible() <em>Visible</em>}' containment reference.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
@ -65,6 +55,16 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
*/ */
protected Condition visible; protected Condition visible;
/**
* The cached value of the '{@link #getFinInteraction() <em>Fin Interaction</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getFinInteraction()
* @generated
* @ordered
*/
protected Condition finInteraction;
/** /**
* The cached value of the '{@link #getConnaissances() <em>Connaissances</em>}' attribute list. * The cached value of the '{@link #getConnaissances() <em>Connaissances</em>}' attribute list.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
@ -96,14 +96,14 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
protected EList<String> objetsConso; protected EList<String> objetsConso;
/** /**
* The cached value of the '{@link #getFinInteraction() <em>Fin Interaction</em>}' containment reference. * The cached value of the '{@link #getDescriptions() <em>Descriptions</em>}' containment reference list.
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
* <!-- end-user-doc --> * <!-- end-user-doc -->
* @see #getFinInteraction() * @see #getDescriptions()
* @generated * @generated
* @ordered * @ordered
*/ */
protected Condition finInteraction; protected EList<Description> descriptions;
/** /**
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
@ -126,21 +126,6 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
return GAMEPackage.Literals.ACTION; return GAMEPackage.Literals.ACTION;
} }
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<Description> getDescriptions()
{
if (descriptions == null)
{
descriptions = new EObjectContainmentEList<Description>(Description.class, this, GAMEPackage.ACTION__DESCRIPTIONS);
}
return descriptions;
}
/** /**
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
* <!-- end-user-doc --> * <!-- end-user-doc -->
@ -191,51 +176,6 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
eNotify(new ENotificationImpl(this, Notification.SET, GAMEPackage.ACTION__VISIBLE, newVisible, newVisible)); eNotify(new ENotificationImpl(this, Notification.SET, GAMEPackage.ACTION__VISIBLE, newVisible, newVisible));
} }
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<String> getConnaissances()
{
if (connaissances == null)
{
connaissances = new EDataTypeEList<String>(String.class, this, GAMEPackage.ACTION__CONNAISSANCES);
}
return connaissances;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<String> getObjetsRecus()
{
if (objetsRecus == null)
{
objetsRecus = new EDataTypeEList<String>(String.class, this, GAMEPackage.ACTION__OBJETS_RECUS);
}
return objetsRecus;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<String> getObjetsConso()
{
if (objetsConso == null)
{
objetsConso = new EDataTypeEList<String>(String.class, this, GAMEPackage.ACTION__OBJETS_CONSO);
}
return objetsConso;
}
/** /**
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
* <!-- end-user-doc --> * <!-- end-user-doc -->
@ -286,6 +226,66 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
eNotify(new ENotificationImpl(this, Notification.SET, GAMEPackage.ACTION__FIN_INTERACTION, newFinInteraction, newFinInteraction)); eNotify(new ENotificationImpl(this, Notification.SET, GAMEPackage.ACTION__FIN_INTERACTION, newFinInteraction, newFinInteraction));
} }
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<String> getConnaissances()
{
if (connaissances == null)
{
connaissances = new EDataTypeEList<String>(String.class, this, GAMEPackage.ACTION__CONNAISSANCES);
}
return connaissances;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<String> getObjetsRecus()
{
if (objetsRecus == null)
{
objetsRecus = new EDataTypeEList<String>(String.class, this, GAMEPackage.ACTION__OBJETS_RECUS);
}
return objetsRecus;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<String> getObjetsConso()
{
if (objetsConso == null)
{
objetsConso = new EDataTypeEList<String>(String.class, this, GAMEPackage.ACTION__OBJETS_CONSO);
}
return objetsConso;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList<Description> getDescriptions()
{
if (descriptions == null)
{
descriptions = new EObjectContainmentEList<Description>(Description.class, this, GAMEPackage.ACTION__DESCRIPTIONS);
}
return descriptions;
}
/** /**
* <!-- begin-user-doc --> * <!-- begin-user-doc -->
* <!-- end-user-doc --> * <!-- end-user-doc -->
@ -296,12 +296,12 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
{ {
switch (featureID) switch (featureID)
{ {
case GAMEPackage.ACTION__DESCRIPTIONS:
return ((InternalEList<?>)getDescriptions()).basicRemove(otherEnd, msgs);
case GAMEPackage.ACTION__VISIBLE: case GAMEPackage.ACTION__VISIBLE:
return basicSetVisible(null, msgs); return basicSetVisible(null, msgs);
case GAMEPackage.ACTION__FIN_INTERACTION: case GAMEPackage.ACTION__FIN_INTERACTION:
return basicSetFinInteraction(null, msgs); return basicSetFinInteraction(null, msgs);
case GAMEPackage.ACTION__DESCRIPTIONS:
return ((InternalEList<?>)getDescriptions()).basicRemove(otherEnd, msgs);
} }
return super.eInverseRemove(otherEnd, featureID, msgs); return super.eInverseRemove(otherEnd, featureID, msgs);
} }
@ -316,18 +316,18 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
{ {
switch (featureID) switch (featureID)
{ {
case GAMEPackage.ACTION__DESCRIPTIONS:
return getDescriptions();
case GAMEPackage.ACTION__VISIBLE: case GAMEPackage.ACTION__VISIBLE:
return getVisible(); return getVisible();
case GAMEPackage.ACTION__FIN_INTERACTION:
return getFinInteraction();
case GAMEPackage.ACTION__CONNAISSANCES: case GAMEPackage.ACTION__CONNAISSANCES:
return getConnaissances(); return getConnaissances();
case GAMEPackage.ACTION__OBJETS_RECUS: case GAMEPackage.ACTION__OBJETS_RECUS:
return getObjetsRecus(); return getObjetsRecus();
case GAMEPackage.ACTION__OBJETS_CONSO: case GAMEPackage.ACTION__OBJETS_CONSO:
return getObjetsConso(); return getObjetsConso();
case GAMEPackage.ACTION__FIN_INTERACTION: case GAMEPackage.ACTION__DESCRIPTIONS:
return getFinInteraction(); return getDescriptions();
} }
return super.eGet(featureID, resolve, coreType); return super.eGet(featureID, resolve, coreType);
} }
@ -343,13 +343,12 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
{ {
switch (featureID) switch (featureID)
{ {
case GAMEPackage.ACTION__DESCRIPTIONS:
getDescriptions().clear();
getDescriptions().addAll((Collection<? extends Description>)newValue);
return;
case GAMEPackage.ACTION__VISIBLE: case GAMEPackage.ACTION__VISIBLE:
setVisible((Condition)newValue); setVisible((Condition)newValue);
return; return;
case GAMEPackage.ACTION__FIN_INTERACTION:
setFinInteraction((Condition)newValue);
return;
case GAMEPackage.ACTION__CONNAISSANCES: case GAMEPackage.ACTION__CONNAISSANCES:
getConnaissances().clear(); getConnaissances().clear();
getConnaissances().addAll((Collection<? extends String>)newValue); getConnaissances().addAll((Collection<? extends String>)newValue);
@ -362,8 +361,9 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
getObjetsConso().clear(); getObjetsConso().clear();
getObjetsConso().addAll((Collection<? extends String>)newValue); getObjetsConso().addAll((Collection<? extends String>)newValue);
return; return;
case GAMEPackage.ACTION__FIN_INTERACTION: case GAMEPackage.ACTION__DESCRIPTIONS:
setFinInteraction((Condition)newValue); getDescriptions().clear();
getDescriptions().addAll((Collection<? extends Description>)newValue);
return; return;
} }
super.eSet(featureID, newValue); super.eSet(featureID, newValue);
@ -379,12 +379,12 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
{ {
switch (featureID) switch (featureID)
{ {
case GAMEPackage.ACTION__DESCRIPTIONS:
getDescriptions().clear();
return;
case GAMEPackage.ACTION__VISIBLE: case GAMEPackage.ACTION__VISIBLE:
setVisible((Condition)null); setVisible((Condition)null);
return; return;
case GAMEPackage.ACTION__FIN_INTERACTION:
setFinInteraction((Condition)null);
return;
case GAMEPackage.ACTION__CONNAISSANCES: case GAMEPackage.ACTION__CONNAISSANCES:
getConnaissances().clear(); getConnaissances().clear();
return; return;
@ -394,8 +394,8 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
case GAMEPackage.ACTION__OBJETS_CONSO: case GAMEPackage.ACTION__OBJETS_CONSO:
getObjetsConso().clear(); getObjetsConso().clear();
return; return;
case GAMEPackage.ACTION__FIN_INTERACTION: case GAMEPackage.ACTION__DESCRIPTIONS:
setFinInteraction((Condition)null); getDescriptions().clear();
return; return;
} }
super.eUnset(featureID); super.eUnset(featureID);
@ -411,18 +411,18 @@ public class ActionImpl extends MinimalEObjectImpl.Container implements Action
{ {
switch (featureID) switch (featureID)
{ {
case GAMEPackage.ACTION__DESCRIPTIONS:
return descriptions != null && !descriptions.isEmpty();
case GAMEPackage.ACTION__VISIBLE: case GAMEPackage.ACTION__VISIBLE:
return visible != null; return visible != null;
case GAMEPackage.ACTION__FIN_INTERACTION:
return finInteraction != null;
case GAMEPackage.ACTION__CONNAISSANCES: case GAMEPackage.ACTION__CONNAISSANCES:
return connaissances != null && !connaissances.isEmpty(); return connaissances != null && !connaissances.isEmpty();
case GAMEPackage.ACTION__OBJETS_RECUS: case GAMEPackage.ACTION__OBJETS_RECUS:
return objetsRecus != null && !objetsRecus.isEmpty(); return objetsRecus != null && !objetsRecus.isEmpty();
case GAMEPackage.ACTION__OBJETS_CONSO: case GAMEPackage.ACTION__OBJETS_CONSO:
return objetsConso != null && !objetsConso.isEmpty(); return objetsConso != null && !objetsConso.isEmpty();
case GAMEPackage.ACTION__FIN_INTERACTION: case GAMEPackage.ACTION__DESCRIPTIONS:
return finInteraction != null; return descriptions != null && !descriptions.isEmpty();
} }
return super.eIsSet(featureID); return super.eIsSet(featureID);
} }

View file

@ -872,7 +872,7 @@ public class GAMEPackageImpl extends EPackageImpl implements GAMEPackage
* @generated * @generated
*/ */
@Override @Override
public EReference getAction_Descriptions() public EReference getAction_Visible()
{ {
return (EReference)actionEClass.getEStructuralFeatures().get(0); return (EReference)actionEClass.getEStructuralFeatures().get(0);
} }
@ -883,7 +883,7 @@ public class GAMEPackageImpl extends EPackageImpl implements GAMEPackage
* @generated * @generated
*/ */
@Override @Override
public EReference getAction_Visible() public EReference getAction_FinInteraction()
{ {
return (EReference)actionEClass.getEStructuralFeatures().get(1); return (EReference)actionEClass.getEStructuralFeatures().get(1);
} }
@ -927,7 +927,7 @@ public class GAMEPackageImpl extends EPackageImpl implements GAMEPackage
* @generated * @generated
*/ */
@Override @Override
public EReference getAction_FinInteraction() public EReference getAction_Descriptions()
{ {
return (EReference)actionEClass.getEStructuralFeatures().get(5); return (EReference)actionEClass.getEStructuralFeatures().get(5);
} }
@ -1207,12 +1207,12 @@ public class GAMEPackageImpl extends EPackageImpl implements GAMEPackage
createEReference(interactionEClass, INTERACTION__ACTIONS); createEReference(interactionEClass, INTERACTION__ACTIONS);
actionEClass = createEClass(ACTION); actionEClass = createEClass(ACTION);
createEReference(actionEClass, ACTION__DESCRIPTIONS);
createEReference(actionEClass, ACTION__VISIBLE); createEReference(actionEClass, ACTION__VISIBLE);
createEReference(actionEClass, ACTION__FIN_INTERACTION);
createEAttribute(actionEClass, ACTION__CONNAISSANCES); createEAttribute(actionEClass, ACTION__CONNAISSANCES);
createEAttribute(actionEClass, ACTION__OBJETS_RECUS); createEAttribute(actionEClass, ACTION__OBJETS_RECUS);
createEAttribute(actionEClass, ACTION__OBJETS_CONSO); createEAttribute(actionEClass, ACTION__OBJETS_CONSO);
createEReference(actionEClass, ACTION__FIN_INTERACTION); createEReference(actionEClass, ACTION__DESCRIPTIONS);
descriptionEClass = createEClass(DESCRIPTION); descriptionEClass = createEClass(DESCRIPTION);
createEAttribute(descriptionEClass, DESCRIPTION__TEXTE); createEAttribute(descriptionEClass, DESCRIPTION__TEXTE);
@ -1340,12 +1340,12 @@ public class GAMEPackageImpl extends EPackageImpl implements GAMEPackage
initEReference(getInteraction_Actions(), this.getAction(), null, "actions", null, 0, -1, Interaction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getInteraction_Actions(), this.getAction(), null, "actions", null, 0, -1, Interaction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(actionEClass, Action.class, "Action", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(actionEClass, Action.class, "Action", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAction_Descriptions(), this.getDescription(), null, "descriptions", null, 0, -1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getAction_Visible(), this.getCondition(), null, "visible", null, 0, 1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getAction_Visible(), this.getCondition(), null, "visible", null, 0, 1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getAction_FinInteraction(), this.getCondition(), null, "finInteraction", null, 0, 1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAction_Connaissances(), ecorePackage.getEString(), "connaissances", null, 0, -1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getAction_Connaissances(), ecorePackage.getEString(), "connaissances", null, 0, -1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAction_ObjetsRecus(), ecorePackage.getEString(), "objetsRecus", null, 0, -1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getAction_ObjetsRecus(), ecorePackage.getEString(), "objetsRecus", null, 0, -1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAction_ObjetsConso(), ecorePackage.getEString(), "objetsConso", null, 0, -1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getAction_ObjetsConso(), ecorePackage.getEString(), "objetsConso", null, 0, -1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getAction_FinInteraction(), this.getCondition(), null, "finInteraction", null, 0, 1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getAction_Descriptions(), this.getDescription(), null, "descriptions", null, 0, -1, Action.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(descriptionEClass, Description.class, "Description", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(descriptionEClass, Description.class, "Description", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getDescription_Texte(), ecorePackage.getEString(), "texte", null, 0, 1, Description.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getDescription_Texte(), ecorePackage.getEString(), "texte", null, 0, 1, Description.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

View file

@ -1,8 +1,7 @@
'!'=53 '!'=52
'!='=59 '!='=58
'"Chemins"'=27 '"Chemins"'=27
'"Connaissances"'=19 '"Connaissances"'=19
'"Description"'=46
'"Explorateur"'=12 '"Explorateur"'=12
'"Lieux"'=26 '"Lieux"'=26
'"Objets"'=16 '"Objets"'=16
@ -16,7 +15,7 @@
'"deposable"'=29 '"deposable"'=29
'"descriptions"'=33 '"descriptions"'=33
'"fin"'=31 '"fin"'=31
'"fin_interaction"'=47 '"fin_interaction"'=46
'"interactions"'=44 '"interactions"'=44
'"lieu_in"'=34 '"lieu_in"'=34
'"lieu_out"'=35 '"lieu_out"'=35
@ -30,29 +29,29 @@
'"ouvert"'=36 '"ouvert"'=36
'"personnes"'=32 '"personnes"'=32
'"taille"'=23 '"taille"'=23
'"texte"'=48 '"texte"'=47
'"visible"'=37 '"visible"'=37
'&&'=50 '&&'=49
','=14 ','=14
':'=13 ':'=13
'<'=54 '<'=53
'<='=57 '<='=56
'=='=56 '=='=55
'>'=55 '>'=54
'>='=58 '>='=57
'['=17 '['=17
']'=18 ']'=18
'false'=52 'false'=51
'true'=51 'true'=50
'{'=11 '{'=11
'||'=49 '||'=48
'}'=22 '}'=22
RULE_ANY_OTHER=10 RULE_ANY_OTHER=10
RULE_ID=5 RULE_ID=6
RULE_INT=4 RULE_INT=4
RULE_ML_COMMENT=7 RULE_ML_COMMENT=7
RULE_SL_COMMENT=8 RULE_SL_COMMENT=8
RULE_STRING=6 RULE_STRING=5
RULE_WS=9 RULE_WS=9
T__11=11 T__11=11
T__12=12 T__12=12
@ -102,4 +101,3 @@ T__55=55
T__56=56 T__56=56
T__57=57 T__57=57
T__58=58 T__58=58
T__59=59

View file

@ -109,13 +109,13 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* *
* Constraint: * Constraint:
* ( * (
* visible=Condition
* finInteraction=Condition
* (connaissances+=STRING connaissances+=STRING*)?
* (objetsRecus+=STRING objetsRecus+=STRING*)?
* (objetsConso+=STRING objetsConso+=STRING*)?
* descriptions+=Description * descriptions+=Description
* descriptions+=Description* * descriptions+=Description*
* visible=Condition
* (connaissances+=ID connaissances+=ID*)?
* (objetsRecus+=ID objetsRecus+=ID*)?
* (objetsConso+=ID objetsConso+=ID*)?
* finInteraction=Condition
* ) * )
*/ */
protected void sequence_Action(ISerializationContext context, fr.n7.gAME.Action semanticObject) { protected void sequence_Action(ISerializationContext context, fr.n7.gAME.Action semanticObject) {
@ -134,9 +134,9 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* ouvert=Condition * ouvert=Condition
* visible=Condition * visible=Condition
* obligatoire=Condition * obligatoire=Condition
* (connaissances+=ID connaissances+=ID*)? * (connaissances+=STRING connaissances+=STRING*)?
* (objetsRecus+=ID objetsRecus+=ID*)? * (objetsRecus+=STRING objetsRecus+=STRING*)?
* (objetsConso+=ID objetsConso+=ID*)? * (objetsConso+=STRING objetsConso+=STRING*)?
* descriptions+=Description * descriptions+=Description
* descriptions+=Description* * descriptions+=Description*
* ) * )
@ -152,7 +152,7 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* ConditionConnaissance returns ConditionConnaissance * ConditionConnaissance returns ConditionConnaissance
* *
* Constraint: * Constraint:
* connaissance=ID * connaissance=STRING
*/ */
protected void sequence_ConditionConnaissance(ISerializationContext context, ConditionConnaissance semanticObject) { protected void sequence_ConditionConnaissance(ISerializationContext context, ConditionConnaissance semanticObject) {
if (errorAcceptor != null) { if (errorAcceptor != null) {
@ -160,7 +160,7 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GAMEPackage.Literals.CONDITION_CONNAISSANCE__CONNAISSANCE)); errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GAMEPackage.Literals.CONDITION_CONNAISSANCE__CONNAISSANCE));
} }
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getConditionConnaissanceAccess().getConnaissanceIDTerminalRuleCall_0(), semanticObject.getConnaissance()); feeder.accept(grammarAccess.getConditionConnaissanceAccess().getConnaissanceSTRINGTerminalRuleCall_0(), semanticObject.getConnaissance());
feeder.finish(); feeder.finish();
} }
@ -183,7 +183,7 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* ConditionObjet returns ConditionObjet * ConditionObjet returns ConditionObjet
* *
* Constraint: * Constraint:
* (objet=ID comparateur=Comparateur nombre=INT) * (objet=STRING comparateur=Comparateur nombre=INT)
*/ */
protected void sequence_ConditionObjet(ISerializationContext context, ConditionObjet semanticObject) { protected void sequence_ConditionObjet(ISerializationContext context, ConditionObjet semanticObject) {
if (errorAcceptor != null) { if (errorAcceptor != null) {
@ -195,7 +195,7 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GAMEPackage.Literals.CONDITION_OBJET__NOMBRE)); errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GAMEPackage.Literals.CONDITION_OBJET__NOMBRE));
} }
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getConditionObjetAccess().getObjetIDTerminalRuleCall_0_0(), semanticObject.getObjet()); feeder.accept(grammarAccess.getConditionObjetAccess().getObjetSTRINGTerminalRuleCall_0_0(), semanticObject.getObjet());
feeder.accept(grammarAccess.getConditionObjetAccess().getComparateurComparateurParserRuleCall_1_0(), semanticObject.getComparateur()); feeder.accept(grammarAccess.getConditionObjetAccess().getComparateurComparateurParserRuleCall_1_0(), semanticObject.getComparateur());
feeder.accept(grammarAccess.getConditionObjetAccess().getNombreINTTerminalRuleCall_2_0(), semanticObject.getNombre()); feeder.accept(grammarAccess.getConditionObjetAccess().getNombreINTTerminalRuleCall_2_0(), semanticObject.getNombre());
feeder.finish(); feeder.finish();
@ -219,7 +219,7 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* Connaissance returns Connaissance * Connaissance returns Connaissance
* *
* Constraint: * Constraint:
* (nom=ID visible=Condition descriptions+=Description descriptions+=Description*) * (nom=STRING visible=Condition descriptions+=Description descriptions+=Description*)
*/ */
protected void sequence_Connaissance(ISerializationContext context, Connaissance semanticObject) { protected void sequence_Connaissance(ISerializationContext context, Connaissance semanticObject) {
genericSequencer.createSequence(context, semanticObject); genericSequencer.createSequence(context, semanticObject);
@ -252,7 +252,7 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* Explorateur returns Explorateur * Explorateur returns Explorateur
* *
* Constraint: * Constraint:
* (tailleInventaire=INT (connaissances+=ID connaissances+=ID*)? (objets+=ID objets+=ID*)?) * (tailleInventaire=INT (connaissances+=STRING connaissances+=STRING*)? (objets+=STRING objets+=STRING*)?)
*/ */
protected void sequence_Explorateur(ISerializationContext context, Explorateur semanticObject) { protected void sequence_Explorateur(ISerializationContext context, Explorateur semanticObject) {
genericSequencer.createSequence(context, semanticObject); genericSequencer.createSequence(context, semanticObject);
@ -266,9 +266,9 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* Constraint: * Constraint:
* ( * (
* visible=Condition * visible=Condition
* (connaissances+=ID connaissances+=ID*)? * (connaissances+=STRING connaissances+=STRING*)?
* (objetsRecus+=ID objetsRecus+=ID*)? * (objetsRecus+=STRING objetsRecus+=STRING*)?
* (objetsConso+=ID objetsRecus+=ID*)? * (objetsConso+=STRING objetsRecus+=STRING*)?
* actions+=Action * actions+=Action
* actions+=Action* * actions+=Action*
* ) * )
@ -303,15 +303,15 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* *
* Constraint: * Constraint:
* ( * (
* nom=ID * nom=STRING
* deposable=Condition * deposable=Condition
* depart=Condition * depart=Condition
* fin=Condition * fin=Condition
* (personnes+=STRING personnes+=STRING*)? * (personnes+=STRING personnes+=STRING*)?
* descriptions+=Description * descriptions+=Description
* descriptions+=Description* * descriptions+=Description*
* (objets+=ID objets+=ID*)? * (objets+=STRING objets+=STRING*)?
* (connaissances+=ID connaissances+=ID*)? * (connaissances+=STRING connaissances+=STRING*)?
* ) * )
*/ */
protected void sequence_Lieu(ISerializationContext context, Lieu semanticObject) { protected void sequence_Lieu(ISerializationContext context, Lieu semanticObject) {
@ -325,7 +325,7 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* NOTConditionConnaissance returns NOTConditionConnaissance * NOTConditionConnaissance returns NOTConditionConnaissance
* *
* Constraint: * Constraint:
* connaissance=ID * connaissance=STRING
*/ */
protected void sequence_NOTConditionConnaissance(ISerializationContext context, NOTConditionConnaissance semanticObject) { protected void sequence_NOTConditionConnaissance(ISerializationContext context, NOTConditionConnaissance semanticObject) {
if (errorAcceptor != null) { if (errorAcceptor != null) {
@ -333,7 +333,7 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GAMEPackage.Literals.NOT_CONDITION_CONNAISSANCE__CONNAISSANCE)); errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GAMEPackage.Literals.NOT_CONDITION_CONNAISSANCE__CONNAISSANCE));
} }
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getNOTConditionConnaissanceAccess().getConnaissanceIDTerminalRuleCall_1_0(), semanticObject.getConnaissance()); feeder.accept(grammarAccess.getNOTConditionConnaissanceAccess().getConnaissanceSTRINGTerminalRuleCall_1_0(), semanticObject.getConnaissance());
feeder.finish(); feeder.finish();
} }
@ -343,7 +343,7 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* Objet returns Objet * Objet returns Objet
* *
* Constraint: * Constraint:
* (nom=ID taille=INT visible=Condition descriptions+=Description descriptions+=Description*) * (nom=STRING taille=INT visible=Condition descriptions+=Description descriptions+=Description*)
*/ */
protected void sequence_Objet(ISerializationContext context, Objet semanticObject) { protected void sequence_Objet(ISerializationContext context, Objet semanticObject) {
genericSequencer.createSequence(context, semanticObject); genericSequencer.createSequence(context, semanticObject);
@ -355,7 +355,7 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* Personne returns Personne * Personne returns Personne
* *
* Constraint: * Constraint:
* (nom=ID visible=Condition obligatoire=Condition (interactions+=Interaction interactions+=Interaction*)?) * (nom=STRING visible=Condition obligatoire=Condition (interactions+=Interaction interactions+=Interaction*)?)
*/ */
protected void sequence_Personne(ISerializationContext context, Personne semanticObject) { protected void sequence_Personne(ISerializationContext context, Personne semanticObject) {
genericSequencer.createSequence(context, semanticObject); genericSequencer.createSequence(context, semanticObject);
@ -379,7 +379,7 @@ public class GAMESemanticSequencer extends AbstractDelegatingSemanticSequencer {
* Transformation returns Transformation * Transformation returns Transformation
* *
* Constraint: * Constraint:
* (condition=Condition (objetsIn+=ID objetsIn+=ID*)? (objetsOut+=ID objetsOut+=ID*)?) * (condition=Condition (objetsIn+=STRING objetsIn+=STRING*)? (objetsOut+=STRING objetsOut+=STRING*)?)
*/ */
protected void sequence_Transformation(ISerializationContext context, Transformation semanticObject) { protected void sequence_Transformation(ISerializationContext context, Transformation semanticObject) {
genericSequencer.createSequence(context, semanticObject); genericSequencer.createSequence(context, semanticObject);

View file

@ -18,8 +18,8 @@ Jeu:
Explorateur: Explorateur:
'{' '{'
'"taille"' ':' tailleInventaire=INT ',' '"taille"' ':' tailleInventaire=INT ','
'"connaissances"' ':' '[' (connaissances+=ID (',' connaissances+=ID)*)? ']' ',' '"connaissances"' ':' '[' (connaissances+=STRING (',' connaissances+=STRING)*)? ']' ','
'"objets"' ':' '[' (objets+=ID (',' objets+=ID)*)? ']' '"objets"' ':' '[' (objets+=STRING (',' objets+=STRING)*)? ']'
'}' '}'
; ;
@ -32,14 +32,14 @@ Territoire:
Lieu: Lieu:
'{' '{'
'"nom"' ':' nom=ID ',' '"nom"' ':' nom=STRING ','
'"deposable"' ':' deposable=Condition ',' '"deposable"' ':' deposable=Condition ','
'"depart"' ':' depart=Condition ',' '"depart"' ':' depart=Condition ','
'"fin"' ':' fin=Condition ',' '"fin"' ':' fin=Condition ','
'"personnes"' ':' '[' (personnes+=STRING (',' personnes+=STRING)*)? ']' ',' '"personnes"' ':' '[' (personnes+=STRING (',' personnes+=STRING)*)? ']' ','
'"descriptions"' ':' '[' descriptions+=Description (',' descriptions+=Description)* ']' ',' '"descriptions"' ':' '[' descriptions+=Description (',' descriptions+=Description)* ']' ','
'"objets"' ':' '[' (objets+=ID (',' objets+=ID)*)? ']' ',' '"objets"' ':' '[' (objets+=STRING (',' objets+=STRING)*)? ']' ','
'"connaissances"' ':' '[' (connaissances+=ID (',' connaissances+=ID)*)? ']' '"connaissances"' ':' '[' (connaissances+=STRING (',' connaissances+=STRING)*)? ']'
'}' '}'
; ;
@ -50,16 +50,16 @@ Chemin:
'"ouvert"' ':' ouvert=Condition ',' '"ouvert"' ':' ouvert=Condition ','
'"visible"' ':' visible=Condition ',' '"visible"' ':' visible=Condition ','
'"obligatoire"' ':' obligatoire=Condition ',' '"obligatoire"' ':' obligatoire=Condition ','
'"connaissances"' ':' '[' (connaissances+=ID (',' connaissances+=ID)*)? ']' ',' '"connaissances"' ':' '[' (connaissances+=STRING (',' connaissances+=STRING)*)? ']' ','
'"objets_recus"' ':' '[' (objetsRecus+=ID (',' objetsRecus+=ID)*)? ']' ',' '"objets_recus"' ':' '[' (objetsRecus+=STRING (',' objetsRecus+=STRING)*)? ']' ','
'"objets_conso"' ':' '[' (objetsConso+=ID (',' objetsConso+=ID)*)? ']' ',' '"objets_conso"' ':' '[' (objetsConso+=STRING (',' objetsConso+=STRING)*)? ']' ','
'"descriptions"' ':' '[' descriptions+=Description (',' descriptions+=Description)* ']' '"descriptions"' ':' '[' descriptions+=Description (',' descriptions+=Description)* ']'
'}' '}'
; ;
Objet: Objet:
'{' '{'
'"nom"' ':' nom=ID ',' '"nom"' ':' nom=STRING ','
'"taille"' ':' taille=INT ',' '"taille"' ':' taille=INT ','
'"visible"' ':' visible=Condition ',' '"visible"' ':' visible=Condition ','
'"descriptions"' ':' '[' descriptions+=Description (',' descriptions+=Description)* ']' '"descriptions"' ':' '[' descriptions+=Description (',' descriptions+=Description)* ']'
@ -69,14 +69,14 @@ Objet:
Transformation: Transformation:
'{' '{'
'"condition"' ':' condition=Condition ',' '"condition"' ':' condition=Condition ','
'"objets_in"' ':' '[' (objetsIn+=ID (',' objetsIn+=ID)*)? ']' ',' '"objets_in"' ':' '[' (objetsIn+=STRING (',' objetsIn+=STRING)*)? ']' ','
'"objets_out"' ':' '[' (objetsOut+=ID (',' objetsOut+=ID)*)? ']' ',' '"objets_out"' ':' '[' (objetsOut+=STRING (',' objetsOut+=STRING)*)? ']' ','
'}' '}'
; ;
Connaissance: Connaissance:
'{' '{'
'"nom"' ':' nom=ID ',' '"nom"' ':' nom=STRING ','
'"visible"' ':' visible=Condition ',' '"visible"' ':' visible=Condition ','
'"descriptions"' ':' '[' descriptions+=Description (',' descriptions+=Description)* ']' '"descriptions"' ':' '[' descriptions+=Description (',' descriptions+=Description)* ']'
'}' '}'
@ -84,7 +84,7 @@ Connaissance:
Personne: Personne:
'{' '{'
'"nom"' ':' nom=ID ',' '"nom"' ':' nom=STRING ','
'"visible"' ':' visible=Condition ',' '"visible"' ':' visible=Condition ','
'"obligatoire"' ':' obligatoire=Condition ',' '"obligatoire"' ':' obligatoire=Condition ','
'"interactions"' ':' '[' (interactions+=Interaction (',' interactions+=Interaction)*)? ']' '"interactions"' ':' '[' (interactions+=Interaction (',' interactions+=Interaction)*)? ']'
@ -94,21 +94,21 @@ Personne:
Interaction: Interaction:
'{' '{'
'"visible"' ':' visible=Condition ',' '"visible"' ':' visible=Condition ','
'"connaissances"' ':' '[' (connaissances+=ID (',' connaissances+=ID)*)? ']' ',' '"connaissances"' ':' '[' (connaissances+=STRING (',' connaissances+=STRING)*)? ']' ','
'"objets_recus"' ':' '[' (objetsRecus+=ID (',' objetsRecus+=ID)*)? ']' ',' '"objets_recus"' ':' '[' (objetsRecus+=STRING (',' objetsRecus+=STRING)*)? ']' ','
'"objets_conso"' ':' '[' (objetsConso+=ID (',' objetsRecus+=ID)*)? ']' ',' '"objets_conso"' ':' '[' (objetsConso+=STRING (',' objetsRecus+=STRING)*)? ']' ','
'"actions"' ':' '[' actions+=Action (',' actions+=Action)* ']' ',' '"actions"' ':' '[' actions+=Action (',' actions+=Action)* ']'
'}' '}'
; ;
Action: Action:
'{' '{'
'"Description"' ':' '[' descriptions+=Description (',' descriptions+=Description)* ']' ','
'"visible"' ':' visible=Condition ',' '"visible"' ':' visible=Condition ','
'"connaissances"' ':' '[' (connaissances+=ID (',' connaissances+=ID)*)? ']' ',' '"fin_interaction"' ':' finInteraction=Condition ','
'"objets_recus"' ':' '[' (objetsRecus+=ID (',' objetsRecus+=ID)*)? ']' ',' '"connaissances"' ':' '[' (connaissances+=STRING (',' connaissances+=STRING)*)? ']' ','
'"objets_conso"' ':' '[' (objetsConso+=ID (',' objetsConso+=ID)*)? ']' ',' '"objets_recus"' ':' '[' (objetsRecus+=STRING (',' objetsRecus+=STRING)*)? ']' ','
'"fin_interaction"' ':' finInteraction=Condition '"objets_conso"' ':' '[' (objetsConso+=STRING (',' objetsConso+=STRING)*)? ']' ','
'"descriptions"' ':' '[' descriptions+=Description (',' descriptions+=Description)* ']'
'}' '}'
; ;
@ -132,15 +132,15 @@ ConditionTest:
; ;
ConditionConnaissance: ConditionConnaissance:
connaissance=ID connaissance=STRING
; ;
NOTConditionConnaissance: NOTConditionConnaissance:
'!' connaissance=ID '!' connaissance=STRING
; ;
ConditionObjet: ConditionObjet:
objet=ID comparateur=Comparateur nombre=INT objet=STRING comparateur=Comparateur nombre=INT
; ;
Comparateur: Comparateur: