package 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 xtext.services.GameGrammarAccess; import org.antlr.runtime.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; @SuppressWarnings("all") public class InternalGameParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { "", "", "", "", "RULE_INT", "RULE_STRING", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Jeu'", "'{'", "'}'", "'Explorateur'", "'taille'", "'='", "'Territoire'", "'lieux'", "':'", "'chemins'", "'Lieu'", "'Chemin'", "'->'", "'Objet'", "'Transformation'", "'Connaissance'", "'Personne'", "'Interraction'", "'Action'", "'Description'", "'Condition'", "'||'", "'!'", "'<'", "'>'", "'<='", "'>='" }; public static final int RULE_STRING=5; public static final int RULE_SL_COMMENT=8; public static final int T__19=19; public static final int T__15=15; public static final int T__37=37; 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__11=11; public static final int T__33=33; public static final int T__12=12; public static final int T__34=34; public static final int T__13=13; public static final int T__35=35; public static final int T__14=14; public static final int T__36=36; public static final int EOF=-1; public static final int T__30=30; public static final int T__31=31; public static final int T__32=32; public static final int RULE_ID=6; public static final int RULE_WS=9; public static final int RULE_ANY_OTHER=10; public static final int T__26=26; public static final int T__27=27; public static final int T__28=28; public static final int RULE_INT=4; public static final int T__29=29; public static final int T__22=22; public static final int RULE_ML_COMMENT=7; 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; // delegates // delegators public InternalGameParser(TokenStream input) { this(input, new RecognizerSharedState()); } public InternalGameParser(TokenStream input, RecognizerSharedState state) { super(input, state); } public String[] getTokenNames() { return InternalGameParser.tokenNames; } public String getGrammarFileName() { return "InternalGame.g"; } private GameGrammarAccess grammarAccess; public InternalGameParser(TokenStream input, GameGrammarAccess grammarAccess) { this(input); this.grammarAccess = grammarAccess; registerRules(grammarAccess.getGrammar()); } @Override protected String getFirstRuleName() { return "Jeu"; } @Override protected GameGrammarAccess getGrammarAccess() { return grammarAccess; } // $ANTLR start "entryRuleJeu" // InternalGame.g:64:1: entryRuleJeu returns [EObject current=null] : iv_ruleJeu= ruleJeu EOF ; public final EObject entryRuleJeu() throws RecognitionException { EObject current = null; EObject iv_ruleJeu = null; try { // InternalGame.g:64:44: (iv_ruleJeu= ruleJeu EOF ) // InternalGame.g:65:2: iv_ruleJeu= ruleJeu EOF { newCompositeNode(grammarAccess.getJeuRule()); pushFollow(FOLLOW_1); iv_ruleJeu=ruleJeu(); state._fsp--; current =iv_ruleJeu; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJeu" // $ANTLR start "ruleJeu" // InternalGame.g:71:1: ruleJeu returns [EObject current=null] : (otherlv_0= 'Jeu' otherlv_1= '{' ( (lv_explorateur_2_0= ruleExplorateur ) ) ( (lv_territoire_3_0= ruleTerritoire ) ) ( (lv_objets_4_0= ruleObjet ) )* ( (lv_connaissances_5_0= ruleConnaissance ) )* ( (lv_personnes_6_0= rulePersonne ) )* ( (lv_transformations_7_0= ruleTransformation ) )* otherlv_8= '}' ) ; public final EObject ruleJeu() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_8=null; EObject lv_explorateur_2_0 = null; EObject lv_territoire_3_0 = null; EObject lv_objets_4_0 = null; EObject lv_connaissances_5_0 = null; EObject lv_personnes_6_0 = null; EObject lv_transformations_7_0 = null; enterRule(); try { // InternalGame.g:77:2: ( (otherlv_0= 'Jeu' otherlv_1= '{' ( (lv_explorateur_2_0= ruleExplorateur ) ) ( (lv_territoire_3_0= ruleTerritoire ) ) ( (lv_objets_4_0= ruleObjet ) )* ( (lv_connaissances_5_0= ruleConnaissance ) )* ( (lv_personnes_6_0= rulePersonne ) )* ( (lv_transformations_7_0= ruleTransformation ) )* otherlv_8= '}' ) ) // InternalGame.g:78:2: (otherlv_0= 'Jeu' otherlv_1= '{' ( (lv_explorateur_2_0= ruleExplorateur ) ) ( (lv_territoire_3_0= ruleTerritoire ) ) ( (lv_objets_4_0= ruleObjet ) )* ( (lv_connaissances_5_0= ruleConnaissance ) )* ( (lv_personnes_6_0= rulePersonne ) )* ( (lv_transformations_7_0= ruleTransformation ) )* otherlv_8= '}' ) { // InternalGame.g:78:2: (otherlv_0= 'Jeu' otherlv_1= '{' ( (lv_explorateur_2_0= ruleExplorateur ) ) ( (lv_territoire_3_0= ruleTerritoire ) ) ( (lv_objets_4_0= ruleObjet ) )* ( (lv_connaissances_5_0= ruleConnaissance ) )* ( (lv_personnes_6_0= rulePersonne ) )* ( (lv_transformations_7_0= ruleTransformation ) )* otherlv_8= '}' ) // InternalGame.g:79:3: otherlv_0= 'Jeu' otherlv_1= '{' ( (lv_explorateur_2_0= ruleExplorateur ) ) ( (lv_territoire_3_0= ruleTerritoire ) ) ( (lv_objets_4_0= ruleObjet ) )* ( (lv_connaissances_5_0= ruleConnaissance ) )* ( (lv_personnes_6_0= rulePersonne ) )* ( (lv_transformations_7_0= ruleTransformation ) )* otherlv_8= '}' { otherlv_0=(Token)match(input,11,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getJeuAccess().getJeuKeyword_0()); otherlv_1=(Token)match(input,12,FOLLOW_4); newLeafNode(otherlv_1, grammarAccess.getJeuAccess().getLeftCurlyBracketKeyword_1()); // InternalGame.g:87:3: ( (lv_explorateur_2_0= ruleExplorateur ) ) // InternalGame.g:88:4: (lv_explorateur_2_0= ruleExplorateur ) { // InternalGame.g:88:4: (lv_explorateur_2_0= ruleExplorateur ) // InternalGame.g:89:5: lv_explorateur_2_0= ruleExplorateur { newCompositeNode(grammarAccess.getJeuAccess().getExplorateurExplorateurParserRuleCall_2_0()); pushFollow(FOLLOW_5); lv_explorateur_2_0=ruleExplorateur(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getJeuRule()); } set( current, "explorateur", lv_explorateur_2_0, "xtext.Game.Explorateur"); afterParserOrEnumRuleCall(); } } // InternalGame.g:106:3: ( (lv_territoire_3_0= ruleTerritoire ) ) // InternalGame.g:107:4: (lv_territoire_3_0= ruleTerritoire ) { // InternalGame.g:107:4: (lv_territoire_3_0= ruleTerritoire ) // InternalGame.g:108:5: lv_territoire_3_0= ruleTerritoire { newCompositeNode(grammarAccess.getJeuAccess().getTerritoireTerritoireParserRuleCall_3_0()); pushFollow(FOLLOW_6); lv_territoire_3_0=ruleTerritoire(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getJeuRule()); } set( current, "territoire", lv_territoire_3_0, "xtext.Game.Territoire"); afterParserOrEnumRuleCall(); } } // InternalGame.g:125:3: ( (lv_objets_4_0= ruleObjet ) )* loop1: do { int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==24) ) { alt1=1; } switch (alt1) { case 1 : // InternalGame.g:126:4: (lv_objets_4_0= ruleObjet ) { // InternalGame.g:126:4: (lv_objets_4_0= ruleObjet ) // InternalGame.g:127:5: lv_objets_4_0= ruleObjet { newCompositeNode(grammarAccess.getJeuAccess().getObjetsObjetParserRuleCall_4_0()); pushFollow(FOLLOW_6); lv_objets_4_0=ruleObjet(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getJeuRule()); } add( current, "objets", lv_objets_4_0, "xtext.Game.Objet"); afterParserOrEnumRuleCall(); } } break; default : break loop1; } } while (true); // InternalGame.g:144:3: ( (lv_connaissances_5_0= ruleConnaissance ) )* loop2: do { int alt2=2; int LA2_0 = input.LA(1); if ( (LA2_0==26) ) { alt2=1; } switch (alt2) { case 1 : // InternalGame.g:145:4: (lv_connaissances_5_0= ruleConnaissance ) { // InternalGame.g:145:4: (lv_connaissances_5_0= ruleConnaissance ) // InternalGame.g:146:5: lv_connaissances_5_0= ruleConnaissance { newCompositeNode(grammarAccess.getJeuAccess().getConnaissancesConnaissanceParserRuleCall_5_0()); pushFollow(FOLLOW_7); lv_connaissances_5_0=ruleConnaissance(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getJeuRule()); } add( current, "connaissances", lv_connaissances_5_0, "xtext.Game.Connaissance"); afterParserOrEnumRuleCall(); } } break; default : break loop2; } } while (true); // InternalGame.g:163:3: ( (lv_personnes_6_0= rulePersonne ) )* loop3: do { int alt3=2; int LA3_0 = input.LA(1); if ( (LA3_0==27) ) { alt3=1; } switch (alt3) { case 1 : // InternalGame.g:164:4: (lv_personnes_6_0= rulePersonne ) { // InternalGame.g:164:4: (lv_personnes_6_0= rulePersonne ) // InternalGame.g:165:5: lv_personnes_6_0= rulePersonne { newCompositeNode(grammarAccess.getJeuAccess().getPersonnesPersonneParserRuleCall_6_0()); pushFollow(FOLLOW_8); lv_personnes_6_0=rulePersonne(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getJeuRule()); } add( current, "personnes", lv_personnes_6_0, "xtext.Game.Personne"); afterParserOrEnumRuleCall(); } } break; default : break loop3; } } while (true); // InternalGame.g:182:3: ( (lv_transformations_7_0= ruleTransformation ) )* loop4: do { int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==25) ) { alt4=1; } switch (alt4) { case 1 : // InternalGame.g:183:4: (lv_transformations_7_0= ruleTransformation ) { // InternalGame.g:183:4: (lv_transformations_7_0= ruleTransformation ) // InternalGame.g:184:5: lv_transformations_7_0= ruleTransformation { newCompositeNode(grammarAccess.getJeuAccess().getTransformationsTransformationParserRuleCall_7_0()); pushFollow(FOLLOW_9); lv_transformations_7_0=ruleTransformation(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getJeuRule()); } add( current, "transformations", lv_transformations_7_0, "xtext.Game.Transformation"); afterParserOrEnumRuleCall(); } } break; default : break loop4; } } while (true); otherlv_8=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_8, grammarAccess.getJeuAccess().getRightCurlyBracketKeyword_8()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJeu" // $ANTLR start "entryRuleExplorateur" // InternalGame.g:209:1: entryRuleExplorateur returns [EObject current=null] : iv_ruleExplorateur= ruleExplorateur EOF ; public final EObject entryRuleExplorateur() throws RecognitionException { EObject current = null; EObject iv_ruleExplorateur = null; try { // InternalGame.g:209:52: (iv_ruleExplorateur= ruleExplorateur EOF ) // InternalGame.g:210:2: iv_ruleExplorateur= ruleExplorateur EOF { newCompositeNode(grammarAccess.getExplorateurRule()); pushFollow(FOLLOW_1); iv_ruleExplorateur=ruleExplorateur(); state._fsp--; current =iv_ruleExplorateur; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExplorateur" // $ANTLR start "ruleExplorateur" // InternalGame.g:216:1: ruleExplorateur returns [EObject current=null] : (otherlv_0= 'Explorateur' otherlv_1= '{' otherlv_2= 'taille' otherlv_3= '=' ( (lv_tailleTotaleMax_4_0= RULE_INT ) ) ( (lv_connaissances_5_0= ruleNom ) )* ( (lv_objets_6_0= ruleNom ) )* otherlv_7= '}' ) ; public final EObject ruleExplorateur() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_3=null; Token lv_tailleTotaleMax_4_0=null; Token otherlv_7=null; AntlrDatatypeRuleToken lv_connaissances_5_0 = null; AntlrDatatypeRuleToken lv_objets_6_0 = null; enterRule(); try { // InternalGame.g:222:2: ( (otherlv_0= 'Explorateur' otherlv_1= '{' otherlv_2= 'taille' otherlv_3= '=' ( (lv_tailleTotaleMax_4_0= RULE_INT ) ) ( (lv_connaissances_5_0= ruleNom ) )* ( (lv_objets_6_0= ruleNom ) )* otherlv_7= '}' ) ) // InternalGame.g:223:2: (otherlv_0= 'Explorateur' otherlv_1= '{' otherlv_2= 'taille' otherlv_3= '=' ( (lv_tailleTotaleMax_4_0= RULE_INT ) ) ( (lv_connaissances_5_0= ruleNom ) )* ( (lv_objets_6_0= ruleNom ) )* otherlv_7= '}' ) { // InternalGame.g:223:2: (otherlv_0= 'Explorateur' otherlv_1= '{' otherlv_2= 'taille' otherlv_3= '=' ( (lv_tailleTotaleMax_4_0= RULE_INT ) ) ( (lv_connaissances_5_0= ruleNom ) )* ( (lv_objets_6_0= ruleNom ) )* otherlv_7= '}' ) // InternalGame.g:224:3: otherlv_0= 'Explorateur' otherlv_1= '{' otherlv_2= 'taille' otherlv_3= '=' ( (lv_tailleTotaleMax_4_0= RULE_INT ) ) ( (lv_connaissances_5_0= ruleNom ) )* ( (lv_objets_6_0= ruleNom ) )* otherlv_7= '}' { otherlv_0=(Token)match(input,14,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getExplorateurAccess().getExplorateurKeyword_0()); otherlv_1=(Token)match(input,12,FOLLOW_10); newLeafNode(otherlv_1, grammarAccess.getExplorateurAccess().getLeftCurlyBracketKeyword_1()); otherlv_2=(Token)match(input,15,FOLLOW_11); newLeafNode(otherlv_2, grammarAccess.getExplorateurAccess().getTailleKeyword_2()); otherlv_3=(Token)match(input,16,FOLLOW_12); newLeafNode(otherlv_3, grammarAccess.getExplorateurAccess().getEqualsSignKeyword_3()); // InternalGame.g:240:3: ( (lv_tailleTotaleMax_4_0= RULE_INT ) ) // InternalGame.g:241:4: (lv_tailleTotaleMax_4_0= RULE_INT ) { // InternalGame.g:241:4: (lv_tailleTotaleMax_4_0= RULE_INT ) // InternalGame.g:242:5: lv_tailleTotaleMax_4_0= RULE_INT { lv_tailleTotaleMax_4_0=(Token)match(input,RULE_INT,FOLLOW_13); newLeafNode(lv_tailleTotaleMax_4_0, grammarAccess.getExplorateurAccess().getTailleTotaleMaxINTTerminalRuleCall_4_0()); if (current==null) { current = createModelElement(grammarAccess.getExplorateurRule()); } setWithLastConsumed( current, "tailleTotaleMax", lv_tailleTotaleMax_4_0, "org.eclipse.xtext.common.Terminals.INT"); } } // InternalGame.g:258:3: ( (lv_connaissances_5_0= ruleNom ) )* loop5: do { int alt5=2; int LA5_0 = input.LA(1); if ( (LA5_0==RULE_STRING) ) { alt5=1; } switch (alt5) { case 1 : // InternalGame.g:259:4: (lv_connaissances_5_0= ruleNom ) { // InternalGame.g:259:4: (lv_connaissances_5_0= ruleNom ) // InternalGame.g:260:5: lv_connaissances_5_0= ruleNom { newCompositeNode(grammarAccess.getExplorateurAccess().getConnaissancesNomParserRuleCall_5_0()); pushFollow(FOLLOW_13); lv_connaissances_5_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getExplorateurRule()); } add( current, "connaissances", lv_connaissances_5_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop5; } } while (true); // InternalGame.g:277:3: ( (lv_objets_6_0= ruleNom ) )* loop6: do { int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==RULE_STRING) ) { alt6=1; } switch (alt6) { case 1 : // InternalGame.g:278:4: (lv_objets_6_0= ruleNom ) { // InternalGame.g:278:4: (lv_objets_6_0= ruleNom ) // InternalGame.g:279:5: lv_objets_6_0= ruleNom { newCompositeNode(grammarAccess.getExplorateurAccess().getObjetsNomParserRuleCall_6_0()); pushFollow(FOLLOW_13); lv_objets_6_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getExplorateurRule()); } add( current, "objets", lv_objets_6_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop6; } } while (true); otherlv_7=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_7, grammarAccess.getExplorateurAccess().getRightCurlyBracketKeyword_7()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExplorateur" // $ANTLR start "entryRuleTerritoire" // InternalGame.g:304:1: entryRuleTerritoire returns [EObject current=null] : iv_ruleTerritoire= ruleTerritoire EOF ; public final EObject entryRuleTerritoire() throws RecognitionException { EObject current = null; EObject iv_ruleTerritoire = null; try { // InternalGame.g:304:51: (iv_ruleTerritoire= ruleTerritoire EOF ) // InternalGame.g:305:2: iv_ruleTerritoire= ruleTerritoire EOF { newCompositeNode(grammarAccess.getTerritoireRule()); pushFollow(FOLLOW_1); iv_ruleTerritoire=ruleTerritoire(); state._fsp--; current =iv_ruleTerritoire; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTerritoire" // $ANTLR start "ruleTerritoire" // InternalGame.g:311:1: ruleTerritoire returns [EObject current=null] : (otherlv_0= 'Territoire' otherlv_1= '{' otherlv_2= 'lieux' otherlv_3= ':' ( (lv_lieux_4_0= ruleLieu ) )+ otherlv_5= 'chemins' otherlv_6= ':' ( (lv_chemins_7_0= ruleChemin ) )* otherlv_8= '}' ) ; public final EObject ruleTerritoire() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_6=null; Token otherlv_8=null; EObject lv_lieux_4_0 = null; EObject lv_chemins_7_0 = null; enterRule(); try { // InternalGame.g:317:2: ( (otherlv_0= 'Territoire' otherlv_1= '{' otherlv_2= 'lieux' otherlv_3= ':' ( (lv_lieux_4_0= ruleLieu ) )+ otherlv_5= 'chemins' otherlv_6= ':' ( (lv_chemins_7_0= ruleChemin ) )* otherlv_8= '}' ) ) // InternalGame.g:318:2: (otherlv_0= 'Territoire' otherlv_1= '{' otherlv_2= 'lieux' otherlv_3= ':' ( (lv_lieux_4_0= ruleLieu ) )+ otherlv_5= 'chemins' otherlv_6= ':' ( (lv_chemins_7_0= ruleChemin ) )* otherlv_8= '}' ) { // InternalGame.g:318:2: (otherlv_0= 'Territoire' otherlv_1= '{' otherlv_2= 'lieux' otherlv_3= ':' ( (lv_lieux_4_0= ruleLieu ) )+ otherlv_5= 'chemins' otherlv_6= ':' ( (lv_chemins_7_0= ruleChemin ) )* otherlv_8= '}' ) // InternalGame.g:319:3: otherlv_0= 'Territoire' otherlv_1= '{' otherlv_2= 'lieux' otherlv_3= ':' ( (lv_lieux_4_0= ruleLieu ) )+ otherlv_5= 'chemins' otherlv_6= ':' ( (lv_chemins_7_0= ruleChemin ) )* otherlv_8= '}' { otherlv_0=(Token)match(input,17,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getTerritoireAccess().getTerritoireKeyword_0()); otherlv_1=(Token)match(input,12,FOLLOW_14); newLeafNode(otherlv_1, grammarAccess.getTerritoireAccess().getLeftCurlyBracketKeyword_1()); otherlv_2=(Token)match(input,18,FOLLOW_15); newLeafNode(otherlv_2, grammarAccess.getTerritoireAccess().getLieuxKeyword_2()); otherlv_3=(Token)match(input,19,FOLLOW_16); newLeafNode(otherlv_3, grammarAccess.getTerritoireAccess().getColonKeyword_3()); // InternalGame.g:335:3: ( (lv_lieux_4_0= ruleLieu ) )+ int cnt7=0; loop7: do { int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0==21) ) { alt7=1; } switch (alt7) { case 1 : // InternalGame.g:336:4: (lv_lieux_4_0= ruleLieu ) { // InternalGame.g:336:4: (lv_lieux_4_0= ruleLieu ) // InternalGame.g:337:5: lv_lieux_4_0= ruleLieu { newCompositeNode(grammarAccess.getTerritoireAccess().getLieuxLieuParserRuleCall_4_0()); pushFollow(FOLLOW_17); lv_lieux_4_0=ruleLieu(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getTerritoireRule()); } add( current, "lieux", lv_lieux_4_0, "xtext.Game.Lieu"); afterParserOrEnumRuleCall(); } } break; default : if ( cnt7 >= 1 ) break loop7; EarlyExitException eee = new EarlyExitException(7, input); throw eee; } cnt7++; } while (true); otherlv_5=(Token)match(input,20,FOLLOW_15); newLeafNode(otherlv_5, grammarAccess.getTerritoireAccess().getCheminsKeyword_5()); otherlv_6=(Token)match(input,19,FOLLOW_18); newLeafNode(otherlv_6, grammarAccess.getTerritoireAccess().getColonKeyword_6()); // InternalGame.g:362:3: ( (lv_chemins_7_0= ruleChemin ) )* loop8: do { int alt8=2; int LA8_0 = input.LA(1); if ( (LA8_0==22) ) { alt8=1; } switch (alt8) { case 1 : // InternalGame.g:363:4: (lv_chemins_7_0= ruleChemin ) { // InternalGame.g:363:4: (lv_chemins_7_0= ruleChemin ) // InternalGame.g:364:5: lv_chemins_7_0= ruleChemin { newCompositeNode(grammarAccess.getTerritoireAccess().getCheminsCheminParserRuleCall_7_0()); pushFollow(FOLLOW_18); lv_chemins_7_0=ruleChemin(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getTerritoireRule()); } add( current, "chemins", lv_chemins_7_0, "xtext.Game.Chemin"); afterParserOrEnumRuleCall(); } } break; default : break loop8; } } while (true); otherlv_8=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_8, grammarAccess.getTerritoireAccess().getRightCurlyBracketKeyword_8()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTerritoire" // $ANTLR start "entryRuleLieu" // InternalGame.g:389:1: entryRuleLieu returns [EObject current=null] : iv_ruleLieu= ruleLieu EOF ; public final EObject entryRuleLieu() throws RecognitionException { EObject current = null; EObject iv_ruleLieu = null; try { // InternalGame.g:389:45: (iv_ruleLieu= ruleLieu EOF ) // InternalGame.g:390:2: iv_ruleLieu= ruleLieu EOF { newCompositeNode(grammarAccess.getLieuRule()); pushFollow(FOLLOW_1); iv_ruleLieu=ruleLieu(); state._fsp--; current =iv_ruleLieu; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleLieu" // $ANTLR start "ruleLieu" // InternalGame.g:396:1: ruleLieu returns [EObject current=null] : (otherlv_0= 'Lieu' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_connaissances_3_0= ruleNom ) )* ( (lv_personnes_4_0= rulePersonne ) )* ( (lv_objets_5_0= ruleNom ) )* ( (lv_deposable_6_0= ruleCondition ) ) ( (lv_descriptions_7_0= ruleDescription ) )+ ( (lv_depart_8_0= ruleCondition ) ) ( (lv_fin_9_0= ruleCondition ) ) otherlv_10= '}' ) ; public final EObject ruleLieu() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_10=null; AntlrDatatypeRuleToken lv_nom_1_0 = null; AntlrDatatypeRuleToken lv_connaissances_3_0 = null; EObject lv_personnes_4_0 = null; AntlrDatatypeRuleToken lv_objets_5_0 = null; EObject lv_deposable_6_0 = null; EObject lv_descriptions_7_0 = null; EObject lv_depart_8_0 = null; EObject lv_fin_9_0 = null; enterRule(); try { // InternalGame.g:402:2: ( (otherlv_0= 'Lieu' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_connaissances_3_0= ruleNom ) )* ( (lv_personnes_4_0= rulePersonne ) )* ( (lv_objets_5_0= ruleNom ) )* ( (lv_deposable_6_0= ruleCondition ) ) ( (lv_descriptions_7_0= ruleDescription ) )+ ( (lv_depart_8_0= ruleCondition ) ) ( (lv_fin_9_0= ruleCondition ) ) otherlv_10= '}' ) ) // InternalGame.g:403:2: (otherlv_0= 'Lieu' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_connaissances_3_0= ruleNom ) )* ( (lv_personnes_4_0= rulePersonne ) )* ( (lv_objets_5_0= ruleNom ) )* ( (lv_deposable_6_0= ruleCondition ) ) ( (lv_descriptions_7_0= ruleDescription ) )+ ( (lv_depart_8_0= ruleCondition ) ) ( (lv_fin_9_0= ruleCondition ) ) otherlv_10= '}' ) { // InternalGame.g:403:2: (otherlv_0= 'Lieu' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_connaissances_3_0= ruleNom ) )* ( (lv_personnes_4_0= rulePersonne ) )* ( (lv_objets_5_0= ruleNom ) )* ( (lv_deposable_6_0= ruleCondition ) ) ( (lv_descriptions_7_0= ruleDescription ) )+ ( (lv_depart_8_0= ruleCondition ) ) ( (lv_fin_9_0= ruleCondition ) ) otherlv_10= '}' ) // InternalGame.g:404:3: otherlv_0= 'Lieu' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_connaissances_3_0= ruleNom ) )* ( (lv_personnes_4_0= rulePersonne ) )* ( (lv_objets_5_0= ruleNom ) )* ( (lv_deposable_6_0= ruleCondition ) ) ( (lv_descriptions_7_0= ruleDescription ) )+ ( (lv_depart_8_0= ruleCondition ) ) ( (lv_fin_9_0= ruleCondition ) ) otherlv_10= '}' { otherlv_0=(Token)match(input,21,FOLLOW_19); newLeafNode(otherlv_0, grammarAccess.getLieuAccess().getLieuKeyword_0()); // InternalGame.g:408:3: ( (lv_nom_1_0= ruleNom ) ) // InternalGame.g:409:4: (lv_nom_1_0= ruleNom ) { // InternalGame.g:409:4: (lv_nom_1_0= ruleNom ) // InternalGame.g:410:5: lv_nom_1_0= ruleNom { newCompositeNode(grammarAccess.getLieuAccess().getNomNomParserRuleCall_1_0()); pushFollow(FOLLOW_3); lv_nom_1_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getLieuRule()); } set( current, "nom", lv_nom_1_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } otherlv_2=(Token)match(input,12,FOLLOW_20); newLeafNode(otherlv_2, grammarAccess.getLieuAccess().getLeftCurlyBracketKeyword_2()); // InternalGame.g:431:3: ( (lv_connaissances_3_0= ruleNom ) )* loop9: do { int alt9=2; int LA9_0 = input.LA(1); if ( (LA9_0==RULE_STRING) ) { alt9=1; } switch (alt9) { case 1 : // InternalGame.g:432:4: (lv_connaissances_3_0= ruleNom ) { // InternalGame.g:432:4: (lv_connaissances_3_0= ruleNom ) // InternalGame.g:433:5: lv_connaissances_3_0= ruleNom { newCompositeNode(grammarAccess.getLieuAccess().getConnaissancesNomParserRuleCall_3_0()); pushFollow(FOLLOW_20); lv_connaissances_3_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getLieuRule()); } add( current, "connaissances", lv_connaissances_3_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop9; } } while (true); // InternalGame.g:450:3: ( (lv_personnes_4_0= rulePersonne ) )* loop10: do { int alt10=2; int LA10_0 = input.LA(1); if ( (LA10_0==27) ) { alt10=1; } switch (alt10) { case 1 : // InternalGame.g:451:4: (lv_personnes_4_0= rulePersonne ) { // InternalGame.g:451:4: (lv_personnes_4_0= rulePersonne ) // InternalGame.g:452:5: lv_personnes_4_0= rulePersonne { newCompositeNode(grammarAccess.getLieuAccess().getPersonnesPersonneParserRuleCall_4_0()); pushFollow(FOLLOW_20); lv_personnes_4_0=rulePersonne(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getLieuRule()); } add( current, "personnes", lv_personnes_4_0, "xtext.Game.Personne"); afterParserOrEnumRuleCall(); } } break; default : break loop10; } } while (true); // InternalGame.g:469:3: ( (lv_objets_5_0= ruleNom ) )* loop11: do { int alt11=2; int LA11_0 = input.LA(1); if ( (LA11_0==RULE_STRING) ) { alt11=1; } switch (alt11) { case 1 : // InternalGame.g:470:4: (lv_objets_5_0= ruleNom ) { // InternalGame.g:470:4: (lv_objets_5_0= ruleNom ) // InternalGame.g:471:5: lv_objets_5_0= ruleNom { newCompositeNode(grammarAccess.getLieuAccess().getObjetsNomParserRuleCall_5_0()); pushFollow(FOLLOW_20); lv_objets_5_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getLieuRule()); } add( current, "objets", lv_objets_5_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop11; } } while (true); // InternalGame.g:488:3: ( (lv_deposable_6_0= ruleCondition ) ) // InternalGame.g:489:4: (lv_deposable_6_0= ruleCondition ) { // InternalGame.g:489:4: (lv_deposable_6_0= ruleCondition ) // InternalGame.g:490:5: lv_deposable_6_0= ruleCondition { newCompositeNode(grammarAccess.getLieuAccess().getDeposableConditionParserRuleCall_6_0()); pushFollow(FOLLOW_21); lv_deposable_6_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getLieuRule()); } set( current, "deposable", lv_deposable_6_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } // InternalGame.g:507:3: ( (lv_descriptions_7_0= ruleDescription ) )+ int cnt12=0; loop12: do { int alt12=2; int LA12_0 = input.LA(1); if ( (LA12_0==30) ) { alt12=1; } switch (alt12) { case 1 : // InternalGame.g:508:4: (lv_descriptions_7_0= ruleDescription ) { // InternalGame.g:508:4: (lv_descriptions_7_0= ruleDescription ) // InternalGame.g:509:5: lv_descriptions_7_0= ruleDescription { newCompositeNode(grammarAccess.getLieuAccess().getDescriptionsDescriptionParserRuleCall_7_0()); pushFollow(FOLLOW_22); lv_descriptions_7_0=ruleDescription(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getLieuRule()); } add( current, "descriptions", lv_descriptions_7_0, "xtext.Game.Description"); afterParserOrEnumRuleCall(); } } break; default : if ( cnt12 >= 1 ) break loop12; EarlyExitException eee = new EarlyExitException(12, input); throw eee; } cnt12++; } while (true); // InternalGame.g:526:3: ( (lv_depart_8_0= ruleCondition ) ) // InternalGame.g:527:4: (lv_depart_8_0= ruleCondition ) { // InternalGame.g:527:4: (lv_depart_8_0= ruleCondition ) // InternalGame.g:528:5: lv_depart_8_0= ruleCondition { newCompositeNode(grammarAccess.getLieuAccess().getDepartConditionParserRuleCall_8_0()); pushFollow(FOLLOW_20); lv_depart_8_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getLieuRule()); } set( current, "depart", lv_depart_8_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } // InternalGame.g:545:3: ( (lv_fin_9_0= ruleCondition ) ) // InternalGame.g:546:4: (lv_fin_9_0= ruleCondition ) { // InternalGame.g:546:4: (lv_fin_9_0= ruleCondition ) // InternalGame.g:547:5: lv_fin_9_0= ruleCondition { newCompositeNode(grammarAccess.getLieuAccess().getFinConditionParserRuleCall_9_0()); pushFollow(FOLLOW_23); lv_fin_9_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getLieuRule()); } set( current, "fin", lv_fin_9_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } otherlv_10=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_10, grammarAccess.getLieuAccess().getRightCurlyBracketKeyword_10()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleLieu" // $ANTLR start "entryRuleChemin" // InternalGame.g:572:1: entryRuleChemin returns [EObject current=null] : iv_ruleChemin= ruleChemin EOF ; public final EObject entryRuleChemin() throws RecognitionException { EObject current = null; EObject iv_ruleChemin = null; try { // InternalGame.g:572:47: (iv_ruleChemin= ruleChemin EOF ) // InternalGame.g:573:2: iv_ruleChemin= ruleChemin EOF { newCompositeNode(grammarAccess.getCheminRule()); pushFollow(FOLLOW_1); iv_ruleChemin=ruleChemin(); state._fsp--; current =iv_ruleChemin; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleChemin" // $ANTLR start "ruleChemin" // InternalGame.g:579:1: ruleChemin returns [EObject current=null] : (otherlv_0= 'Chemin' otherlv_1= '{' ( (lv_lieuIn_2_0= ruleNom ) ) otherlv_3= '->' ( (lv_lieuOut_4_0= ruleNom ) ) ( (lv_connaissances_5_0= ruleNom ) )* ( (lv_objets_6_0= ruleNom ) )* ( (lv_objetsConso_7_0= ruleNom ) )* ( (lv_ouvert_8_0= ruleCondition ) ) ( (lv_ferme_9_0= ruleCondition ) ) ( (lv_obligatoire_10_0= ruleCondition ) ) ( (lv_descriptions_11_0= ruleDescription ) )+ otherlv_12= '}' ) ; public final EObject ruleChemin() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_12=null; AntlrDatatypeRuleToken lv_lieuIn_2_0 = null; AntlrDatatypeRuleToken lv_lieuOut_4_0 = null; AntlrDatatypeRuleToken lv_connaissances_5_0 = null; AntlrDatatypeRuleToken lv_objets_6_0 = null; AntlrDatatypeRuleToken lv_objetsConso_7_0 = null; EObject lv_ouvert_8_0 = null; EObject lv_ferme_9_0 = null; EObject lv_obligatoire_10_0 = null; EObject lv_descriptions_11_0 = null; enterRule(); try { // InternalGame.g:585:2: ( (otherlv_0= 'Chemin' otherlv_1= '{' ( (lv_lieuIn_2_0= ruleNom ) ) otherlv_3= '->' ( (lv_lieuOut_4_0= ruleNom ) ) ( (lv_connaissances_5_0= ruleNom ) )* ( (lv_objets_6_0= ruleNom ) )* ( (lv_objetsConso_7_0= ruleNom ) )* ( (lv_ouvert_8_0= ruleCondition ) ) ( (lv_ferme_9_0= ruleCondition ) ) ( (lv_obligatoire_10_0= ruleCondition ) ) ( (lv_descriptions_11_0= ruleDescription ) )+ otherlv_12= '}' ) ) // InternalGame.g:586:2: (otherlv_0= 'Chemin' otherlv_1= '{' ( (lv_lieuIn_2_0= ruleNom ) ) otherlv_3= '->' ( (lv_lieuOut_4_0= ruleNom ) ) ( (lv_connaissances_5_0= ruleNom ) )* ( (lv_objets_6_0= ruleNom ) )* ( (lv_objetsConso_7_0= ruleNom ) )* ( (lv_ouvert_8_0= ruleCondition ) ) ( (lv_ferme_9_0= ruleCondition ) ) ( (lv_obligatoire_10_0= ruleCondition ) ) ( (lv_descriptions_11_0= ruleDescription ) )+ otherlv_12= '}' ) { // InternalGame.g:586:2: (otherlv_0= 'Chemin' otherlv_1= '{' ( (lv_lieuIn_2_0= ruleNom ) ) otherlv_3= '->' ( (lv_lieuOut_4_0= ruleNom ) ) ( (lv_connaissances_5_0= ruleNom ) )* ( (lv_objets_6_0= ruleNom ) )* ( (lv_objetsConso_7_0= ruleNom ) )* ( (lv_ouvert_8_0= ruleCondition ) ) ( (lv_ferme_9_0= ruleCondition ) ) ( (lv_obligatoire_10_0= ruleCondition ) ) ( (lv_descriptions_11_0= ruleDescription ) )+ otherlv_12= '}' ) // InternalGame.g:587:3: otherlv_0= 'Chemin' otherlv_1= '{' ( (lv_lieuIn_2_0= ruleNom ) ) otherlv_3= '->' ( (lv_lieuOut_4_0= ruleNom ) ) ( (lv_connaissances_5_0= ruleNom ) )* ( (lv_objets_6_0= ruleNom ) )* ( (lv_objetsConso_7_0= ruleNom ) )* ( (lv_ouvert_8_0= ruleCondition ) ) ( (lv_ferme_9_0= ruleCondition ) ) ( (lv_obligatoire_10_0= ruleCondition ) ) ( (lv_descriptions_11_0= ruleDescription ) )+ otherlv_12= '}' { otherlv_0=(Token)match(input,22,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getCheminAccess().getCheminKeyword_0()); otherlv_1=(Token)match(input,12,FOLLOW_19); newLeafNode(otherlv_1, grammarAccess.getCheminAccess().getLeftCurlyBracketKeyword_1()); // InternalGame.g:595:3: ( (lv_lieuIn_2_0= ruleNom ) ) // InternalGame.g:596:4: (lv_lieuIn_2_0= ruleNom ) { // InternalGame.g:596:4: (lv_lieuIn_2_0= ruleNom ) // InternalGame.g:597:5: lv_lieuIn_2_0= ruleNom { newCompositeNode(grammarAccess.getCheminAccess().getLieuInNomParserRuleCall_2_0()); pushFollow(FOLLOW_24); lv_lieuIn_2_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getCheminRule()); } set( current, "lieuIn", lv_lieuIn_2_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } otherlv_3=(Token)match(input,23,FOLLOW_19); newLeafNode(otherlv_3, grammarAccess.getCheminAccess().getHyphenMinusGreaterThanSignKeyword_3()); // InternalGame.g:618:3: ( (lv_lieuOut_4_0= ruleNom ) ) // InternalGame.g:619:4: (lv_lieuOut_4_0= ruleNom ) { // InternalGame.g:619:4: (lv_lieuOut_4_0= ruleNom ) // InternalGame.g:620:5: lv_lieuOut_4_0= ruleNom { newCompositeNode(grammarAccess.getCheminAccess().getLieuOutNomParserRuleCall_4_0()); pushFollow(FOLLOW_20); lv_lieuOut_4_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getCheminRule()); } set( current, "lieuOut", lv_lieuOut_4_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } // InternalGame.g:637:3: ( (lv_connaissances_5_0= ruleNom ) )* loop13: do { int alt13=2; int LA13_0 = input.LA(1); if ( (LA13_0==RULE_STRING) ) { alt13=1; } switch (alt13) { case 1 : // InternalGame.g:638:4: (lv_connaissances_5_0= ruleNom ) { // InternalGame.g:638:4: (lv_connaissances_5_0= ruleNom ) // InternalGame.g:639:5: lv_connaissances_5_0= ruleNom { newCompositeNode(grammarAccess.getCheminAccess().getConnaissancesNomParserRuleCall_5_0()); pushFollow(FOLLOW_20); lv_connaissances_5_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getCheminRule()); } add( current, "connaissances", lv_connaissances_5_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop13; } } while (true); // InternalGame.g:656:3: ( (lv_objets_6_0= ruleNom ) )* loop14: do { int alt14=2; int LA14_0 = input.LA(1); if ( (LA14_0==RULE_STRING) ) { alt14=1; } switch (alt14) { case 1 : // InternalGame.g:657:4: (lv_objets_6_0= ruleNom ) { // InternalGame.g:657:4: (lv_objets_6_0= ruleNom ) // InternalGame.g:658:5: lv_objets_6_0= ruleNom { newCompositeNode(grammarAccess.getCheminAccess().getObjetsNomParserRuleCall_6_0()); pushFollow(FOLLOW_20); lv_objets_6_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getCheminRule()); } add( current, "objets", lv_objets_6_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop14; } } while (true); // InternalGame.g:675:3: ( (lv_objetsConso_7_0= ruleNom ) )* loop15: do { int alt15=2; int LA15_0 = input.LA(1); if ( (LA15_0==RULE_STRING) ) { alt15=1; } switch (alt15) { case 1 : // InternalGame.g:676:4: (lv_objetsConso_7_0= ruleNom ) { // InternalGame.g:676:4: (lv_objetsConso_7_0= ruleNom ) // InternalGame.g:677:5: lv_objetsConso_7_0= ruleNom { newCompositeNode(grammarAccess.getCheminAccess().getObjetsConsoNomParserRuleCall_7_0()); pushFollow(FOLLOW_20); lv_objetsConso_7_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getCheminRule()); } add( current, "objetsConso", lv_objetsConso_7_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop15; } } while (true); // InternalGame.g:694:3: ( (lv_ouvert_8_0= ruleCondition ) ) // InternalGame.g:695:4: (lv_ouvert_8_0= ruleCondition ) { // InternalGame.g:695:4: (lv_ouvert_8_0= ruleCondition ) // InternalGame.g:696:5: lv_ouvert_8_0= ruleCondition { newCompositeNode(grammarAccess.getCheminAccess().getOuvertConditionParserRuleCall_8_0()); pushFollow(FOLLOW_20); lv_ouvert_8_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getCheminRule()); } set( current, "ouvert", lv_ouvert_8_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } // InternalGame.g:713:3: ( (lv_ferme_9_0= ruleCondition ) ) // InternalGame.g:714:4: (lv_ferme_9_0= ruleCondition ) { // InternalGame.g:714:4: (lv_ferme_9_0= ruleCondition ) // InternalGame.g:715:5: lv_ferme_9_0= ruleCondition { newCompositeNode(grammarAccess.getCheminAccess().getFermeConditionParserRuleCall_9_0()); pushFollow(FOLLOW_20); lv_ferme_9_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getCheminRule()); } set( current, "ferme", lv_ferme_9_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } // InternalGame.g:732:3: ( (lv_obligatoire_10_0= ruleCondition ) ) // InternalGame.g:733:4: (lv_obligatoire_10_0= ruleCondition ) { // InternalGame.g:733:4: (lv_obligatoire_10_0= ruleCondition ) // InternalGame.g:734:5: lv_obligatoire_10_0= ruleCondition { newCompositeNode(grammarAccess.getCheminAccess().getObligatoireConditionParserRuleCall_10_0()); pushFollow(FOLLOW_21); lv_obligatoire_10_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getCheminRule()); } set( current, "obligatoire", lv_obligatoire_10_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } // InternalGame.g:751:3: ( (lv_descriptions_11_0= ruleDescription ) )+ int cnt16=0; loop16: do { int alt16=2; int LA16_0 = input.LA(1); if ( (LA16_0==30) ) { alt16=1; } switch (alt16) { case 1 : // InternalGame.g:752:4: (lv_descriptions_11_0= ruleDescription ) { // InternalGame.g:752:4: (lv_descriptions_11_0= ruleDescription ) // InternalGame.g:753:5: lv_descriptions_11_0= ruleDescription { newCompositeNode(grammarAccess.getCheminAccess().getDescriptionsDescriptionParserRuleCall_11_0()); pushFollow(FOLLOW_25); lv_descriptions_11_0=ruleDescription(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getCheminRule()); } add( current, "descriptions", lv_descriptions_11_0, "xtext.Game.Description"); afterParserOrEnumRuleCall(); } } break; default : if ( cnt16 >= 1 ) break loop16; EarlyExitException eee = new EarlyExitException(16, input); throw eee; } cnt16++; } while (true); otherlv_12=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_12, grammarAccess.getCheminAccess().getRightCurlyBracketKeyword_12()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleChemin" // $ANTLR start "entryRuleObjet" // InternalGame.g:778:1: entryRuleObjet returns [EObject current=null] : iv_ruleObjet= ruleObjet EOF ; public final EObject entryRuleObjet() throws RecognitionException { EObject current = null; EObject iv_ruleObjet = null; try { // InternalGame.g:778:46: (iv_ruleObjet= ruleObjet EOF ) // InternalGame.g:779:2: iv_ruleObjet= ruleObjet EOF { newCompositeNode(grammarAccess.getObjetRule()); pushFollow(FOLLOW_1); iv_ruleObjet=ruleObjet(); state._fsp--; current =iv_ruleObjet; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleObjet" // $ANTLR start "ruleObjet" // InternalGame.g:785:1: ruleObjet returns [EObject current=null] : (otherlv_0= 'Objet' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_taille_3_0= RULE_INT ) ) ( (lv_visible_4_0= ruleCondition ) ) ( (lv_descriptions_5_0= ruleDescription ) )+ otherlv_6= '}' ) ; public final EObject ruleObjet() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token lv_taille_3_0=null; Token otherlv_6=null; AntlrDatatypeRuleToken lv_nom_1_0 = null; EObject lv_visible_4_0 = null; EObject lv_descriptions_5_0 = null; enterRule(); try { // InternalGame.g:791:2: ( (otherlv_0= 'Objet' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_taille_3_0= RULE_INT ) ) ( (lv_visible_4_0= ruleCondition ) ) ( (lv_descriptions_5_0= ruleDescription ) )+ otherlv_6= '}' ) ) // InternalGame.g:792:2: (otherlv_0= 'Objet' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_taille_3_0= RULE_INT ) ) ( (lv_visible_4_0= ruleCondition ) ) ( (lv_descriptions_5_0= ruleDescription ) )+ otherlv_6= '}' ) { // InternalGame.g:792:2: (otherlv_0= 'Objet' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_taille_3_0= RULE_INT ) ) ( (lv_visible_4_0= ruleCondition ) ) ( (lv_descriptions_5_0= ruleDescription ) )+ otherlv_6= '}' ) // InternalGame.g:793:3: otherlv_0= 'Objet' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_taille_3_0= RULE_INT ) ) ( (lv_visible_4_0= ruleCondition ) ) ( (lv_descriptions_5_0= ruleDescription ) )+ otherlv_6= '}' { otherlv_0=(Token)match(input,24,FOLLOW_19); newLeafNode(otherlv_0, grammarAccess.getObjetAccess().getObjetKeyword_0()); // InternalGame.g:797:3: ( (lv_nom_1_0= ruleNom ) ) // InternalGame.g:798:4: (lv_nom_1_0= ruleNom ) { // InternalGame.g:798:4: (lv_nom_1_0= ruleNom ) // InternalGame.g:799:5: lv_nom_1_0= ruleNom { newCompositeNode(grammarAccess.getObjetAccess().getNomNomParserRuleCall_1_0()); pushFollow(FOLLOW_3); lv_nom_1_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getObjetRule()); } set( current, "nom", lv_nom_1_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } otherlv_2=(Token)match(input,12,FOLLOW_12); newLeafNode(otherlv_2, grammarAccess.getObjetAccess().getLeftCurlyBracketKeyword_2()); // InternalGame.g:820:3: ( (lv_taille_3_0= RULE_INT ) ) // InternalGame.g:821:4: (lv_taille_3_0= RULE_INT ) { // InternalGame.g:821:4: (lv_taille_3_0= RULE_INT ) // InternalGame.g:822:5: lv_taille_3_0= RULE_INT { lv_taille_3_0=(Token)match(input,RULE_INT,FOLLOW_20); newLeafNode(lv_taille_3_0, grammarAccess.getObjetAccess().getTailleINTTerminalRuleCall_3_0()); if (current==null) { current = createModelElement(grammarAccess.getObjetRule()); } setWithLastConsumed( current, "taille", lv_taille_3_0, "org.eclipse.xtext.common.Terminals.INT"); } } // InternalGame.g:838:3: ( (lv_visible_4_0= ruleCondition ) ) // InternalGame.g:839:4: (lv_visible_4_0= ruleCondition ) { // InternalGame.g:839:4: (lv_visible_4_0= ruleCondition ) // InternalGame.g:840:5: lv_visible_4_0= ruleCondition { newCompositeNode(grammarAccess.getObjetAccess().getVisibleConditionParserRuleCall_4_0()); pushFollow(FOLLOW_21); lv_visible_4_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getObjetRule()); } set( current, "visible", lv_visible_4_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } // InternalGame.g:857:3: ( (lv_descriptions_5_0= ruleDescription ) )+ int cnt17=0; loop17: do { int alt17=2; int LA17_0 = input.LA(1); if ( (LA17_0==30) ) { alt17=1; } switch (alt17) { case 1 : // InternalGame.g:858:4: (lv_descriptions_5_0= ruleDescription ) { // InternalGame.g:858:4: (lv_descriptions_5_0= ruleDescription ) // InternalGame.g:859:5: lv_descriptions_5_0= ruleDescription { newCompositeNode(grammarAccess.getObjetAccess().getDescriptionsDescriptionParserRuleCall_5_0()); pushFollow(FOLLOW_25); lv_descriptions_5_0=ruleDescription(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getObjetRule()); } add( current, "descriptions", lv_descriptions_5_0, "xtext.Game.Description"); afterParserOrEnumRuleCall(); } } break; default : if ( cnt17 >= 1 ) break loop17; EarlyExitException eee = new EarlyExitException(17, input); throw eee; } cnt17++; } while (true); otherlv_6=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_6, grammarAccess.getObjetAccess().getRightCurlyBracketKeyword_6()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleObjet" // $ANTLR start "entryRuleTransformation" // InternalGame.g:884:1: entryRuleTransformation returns [EObject current=null] : iv_ruleTransformation= ruleTransformation EOF ; public final EObject entryRuleTransformation() throws RecognitionException { EObject current = null; EObject iv_ruleTransformation = null; try { // InternalGame.g:884:55: (iv_ruleTransformation= ruleTransformation EOF ) // InternalGame.g:885:2: iv_ruleTransformation= ruleTransformation EOF { newCompositeNode(grammarAccess.getTransformationRule()); pushFollow(FOLLOW_1); iv_ruleTransformation=ruleTransformation(); state._fsp--; current =iv_ruleTransformation; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTransformation" // $ANTLR start "ruleTransformation" // InternalGame.g:891:1: ruleTransformation returns [EObject current=null] : (otherlv_0= 'Transformation' otherlv_1= '{' ( (lv_condition_2_0= ruleCondition ) ) ( (lv_objetSource_3_0= ruleNom ) )+ otherlv_4= '->' ( (lv_objetsResultats_5_0= ruleNom ) )+ otherlv_6= '}' ) ; public final EObject ruleTransformation() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_condition_2_0 = null; AntlrDatatypeRuleToken lv_objetSource_3_0 = null; AntlrDatatypeRuleToken lv_objetsResultats_5_0 = null; enterRule(); try { // InternalGame.g:897:2: ( (otherlv_0= 'Transformation' otherlv_1= '{' ( (lv_condition_2_0= ruleCondition ) ) ( (lv_objetSource_3_0= ruleNom ) )+ otherlv_4= '->' ( (lv_objetsResultats_5_0= ruleNom ) )+ otherlv_6= '}' ) ) // InternalGame.g:898:2: (otherlv_0= 'Transformation' otherlv_1= '{' ( (lv_condition_2_0= ruleCondition ) ) ( (lv_objetSource_3_0= ruleNom ) )+ otherlv_4= '->' ( (lv_objetsResultats_5_0= ruleNom ) )+ otherlv_6= '}' ) { // InternalGame.g:898:2: (otherlv_0= 'Transformation' otherlv_1= '{' ( (lv_condition_2_0= ruleCondition ) ) ( (lv_objetSource_3_0= ruleNom ) )+ otherlv_4= '->' ( (lv_objetsResultats_5_0= ruleNom ) )+ otherlv_6= '}' ) // InternalGame.g:899:3: otherlv_0= 'Transformation' otherlv_1= '{' ( (lv_condition_2_0= ruleCondition ) ) ( (lv_objetSource_3_0= ruleNom ) )+ otherlv_4= '->' ( (lv_objetsResultats_5_0= ruleNom ) )+ otherlv_6= '}' { otherlv_0=(Token)match(input,25,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getTransformationAccess().getTransformationKeyword_0()); otherlv_1=(Token)match(input,12,FOLLOW_20); newLeafNode(otherlv_1, grammarAccess.getTransformationAccess().getLeftCurlyBracketKeyword_1()); // InternalGame.g:907:3: ( (lv_condition_2_0= ruleCondition ) ) // InternalGame.g:908:4: (lv_condition_2_0= ruleCondition ) { // InternalGame.g:908:4: (lv_condition_2_0= ruleCondition ) // InternalGame.g:909:5: lv_condition_2_0= ruleCondition { newCompositeNode(grammarAccess.getTransformationAccess().getConditionConditionParserRuleCall_2_0()); pushFollow(FOLLOW_19); lv_condition_2_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getTransformationRule()); } set( current, "condition", lv_condition_2_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } // InternalGame.g:926:3: ( (lv_objetSource_3_0= ruleNom ) )+ int cnt18=0; loop18: do { int alt18=2; int LA18_0 = input.LA(1); if ( (LA18_0==RULE_STRING) ) { alt18=1; } switch (alt18) { case 1 : // InternalGame.g:927:4: (lv_objetSource_3_0= ruleNom ) { // InternalGame.g:927:4: (lv_objetSource_3_0= ruleNom ) // InternalGame.g:928:5: lv_objetSource_3_0= ruleNom { newCompositeNode(grammarAccess.getTransformationAccess().getObjetSourceNomParserRuleCall_3_0()); pushFollow(FOLLOW_26); lv_objetSource_3_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getTransformationRule()); } add( current, "objetSource", lv_objetSource_3_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : if ( cnt18 >= 1 ) break loop18; EarlyExitException eee = new EarlyExitException(18, input); throw eee; } cnt18++; } while (true); otherlv_4=(Token)match(input,23,FOLLOW_19); newLeafNode(otherlv_4, grammarAccess.getTransformationAccess().getHyphenMinusGreaterThanSignKeyword_4()); // InternalGame.g:949:3: ( (lv_objetsResultats_5_0= ruleNom ) )+ int cnt19=0; loop19: do { int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0==RULE_STRING) ) { alt19=1; } switch (alt19) { case 1 : // InternalGame.g:950:4: (lv_objetsResultats_5_0= ruleNom ) { // InternalGame.g:950:4: (lv_objetsResultats_5_0= ruleNom ) // InternalGame.g:951:5: lv_objetsResultats_5_0= ruleNom { newCompositeNode(grammarAccess.getTransformationAccess().getObjetsResultatsNomParserRuleCall_5_0()); pushFollow(FOLLOW_13); lv_objetsResultats_5_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getTransformationRule()); } add( current, "objetsResultats", lv_objetsResultats_5_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : if ( cnt19 >= 1 ) break loop19; EarlyExitException eee = new EarlyExitException(19, input); throw eee; } cnt19++; } while (true); otherlv_6=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_6, grammarAccess.getTransformationAccess().getRightCurlyBracketKeyword_6()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTransformation" // $ANTLR start "entryRuleConnaissance" // InternalGame.g:976:1: entryRuleConnaissance returns [EObject current=null] : iv_ruleConnaissance= ruleConnaissance EOF ; public final EObject entryRuleConnaissance() throws RecognitionException { EObject current = null; EObject iv_ruleConnaissance = null; try { // InternalGame.g:976:53: (iv_ruleConnaissance= ruleConnaissance EOF ) // InternalGame.g:977:2: iv_ruleConnaissance= ruleConnaissance EOF { newCompositeNode(grammarAccess.getConnaissanceRule()); pushFollow(FOLLOW_1); iv_ruleConnaissance=ruleConnaissance(); state._fsp--; current =iv_ruleConnaissance; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleConnaissance" // $ANTLR start "ruleConnaissance" // InternalGame.g:983:1: ruleConnaissance returns [EObject current=null] : (otherlv_0= 'Connaissance' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_visible_3_0= ruleCondition ) ) ( (lv_descriptions_4_0= ruleDescription ) )+ otherlv_5= '}' ) ; public final EObject ruleConnaissance() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_5=null; AntlrDatatypeRuleToken lv_nom_1_0 = null; EObject lv_visible_3_0 = null; EObject lv_descriptions_4_0 = null; enterRule(); try { // InternalGame.g:989:2: ( (otherlv_0= 'Connaissance' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_visible_3_0= ruleCondition ) ) ( (lv_descriptions_4_0= ruleDescription ) )+ otherlv_5= '}' ) ) // InternalGame.g:990:2: (otherlv_0= 'Connaissance' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_visible_3_0= ruleCondition ) ) ( (lv_descriptions_4_0= ruleDescription ) )+ otherlv_5= '}' ) { // InternalGame.g:990:2: (otherlv_0= 'Connaissance' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_visible_3_0= ruleCondition ) ) ( (lv_descriptions_4_0= ruleDescription ) )+ otherlv_5= '}' ) // InternalGame.g:991:3: otherlv_0= 'Connaissance' ( (lv_nom_1_0= ruleNom ) ) otherlv_2= '{' ( (lv_visible_3_0= ruleCondition ) ) ( (lv_descriptions_4_0= ruleDescription ) )+ otherlv_5= '}' { otherlv_0=(Token)match(input,26,FOLLOW_19); newLeafNode(otherlv_0, grammarAccess.getConnaissanceAccess().getConnaissanceKeyword_0()); // InternalGame.g:995:3: ( (lv_nom_1_0= ruleNom ) ) // InternalGame.g:996:4: (lv_nom_1_0= ruleNom ) { // InternalGame.g:996:4: (lv_nom_1_0= ruleNom ) // InternalGame.g:997:5: lv_nom_1_0= ruleNom { newCompositeNode(grammarAccess.getConnaissanceAccess().getNomNomParserRuleCall_1_0()); pushFollow(FOLLOW_3); lv_nom_1_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getConnaissanceRule()); } set( current, "nom", lv_nom_1_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } otherlv_2=(Token)match(input,12,FOLLOW_20); newLeafNode(otherlv_2, grammarAccess.getConnaissanceAccess().getLeftCurlyBracketKeyword_2()); // InternalGame.g:1018:3: ( (lv_visible_3_0= ruleCondition ) ) // InternalGame.g:1019:4: (lv_visible_3_0= ruleCondition ) { // InternalGame.g:1019:4: (lv_visible_3_0= ruleCondition ) // InternalGame.g:1020:5: lv_visible_3_0= ruleCondition { newCompositeNode(grammarAccess.getConnaissanceAccess().getVisibleConditionParserRuleCall_3_0()); pushFollow(FOLLOW_21); lv_visible_3_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getConnaissanceRule()); } set( current, "visible", lv_visible_3_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } // InternalGame.g:1037:3: ( (lv_descriptions_4_0= ruleDescription ) )+ int cnt20=0; loop20: do { int alt20=2; int LA20_0 = input.LA(1); if ( (LA20_0==30) ) { alt20=1; } switch (alt20) { case 1 : // InternalGame.g:1038:4: (lv_descriptions_4_0= ruleDescription ) { // InternalGame.g:1038:4: (lv_descriptions_4_0= ruleDescription ) // InternalGame.g:1039:5: lv_descriptions_4_0= ruleDescription { newCompositeNode(grammarAccess.getConnaissanceAccess().getDescriptionsDescriptionParserRuleCall_4_0()); pushFollow(FOLLOW_25); lv_descriptions_4_0=ruleDescription(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getConnaissanceRule()); } add( current, "descriptions", lv_descriptions_4_0, "xtext.Game.Description"); afterParserOrEnumRuleCall(); } } break; default : if ( cnt20 >= 1 ) break loop20; EarlyExitException eee = new EarlyExitException(20, input); throw eee; } cnt20++; } while (true); otherlv_5=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_5, grammarAccess.getConnaissanceAccess().getRightCurlyBracketKeyword_5()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleConnaissance" // $ANTLR start "entryRulePersonne" // InternalGame.g:1064:1: entryRulePersonne returns [EObject current=null] : iv_rulePersonne= rulePersonne EOF ; public final EObject entryRulePersonne() throws RecognitionException { EObject current = null; EObject iv_rulePersonne = null; try { // InternalGame.g:1064:49: (iv_rulePersonne= rulePersonne EOF ) // InternalGame.g:1065:2: iv_rulePersonne= rulePersonne EOF { newCompositeNode(grammarAccess.getPersonneRule()); pushFollow(FOLLOW_1); iv_rulePersonne=rulePersonne(); state._fsp--; current =iv_rulePersonne; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePersonne" // $ANTLR start "rulePersonne" // InternalGame.g:1071:1: rulePersonne returns [EObject current=null] : (otherlv_0= 'Personne' otherlv_1= '{' ( (lv_visible_2_0= ruleCondition ) ) ( (lv_obligatoire_3_0= ruleCondition ) ) ( (lv_interractions_4_0= ruleInterraction ) )+ otherlv_5= '}' ) ; public final EObject rulePersonne() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_5=null; EObject lv_visible_2_0 = null; EObject lv_obligatoire_3_0 = null; EObject lv_interractions_4_0 = null; enterRule(); try { // InternalGame.g:1077:2: ( (otherlv_0= 'Personne' otherlv_1= '{' ( (lv_visible_2_0= ruleCondition ) ) ( (lv_obligatoire_3_0= ruleCondition ) ) ( (lv_interractions_4_0= ruleInterraction ) )+ otherlv_5= '}' ) ) // InternalGame.g:1078:2: (otherlv_0= 'Personne' otherlv_1= '{' ( (lv_visible_2_0= ruleCondition ) ) ( (lv_obligatoire_3_0= ruleCondition ) ) ( (lv_interractions_4_0= ruleInterraction ) )+ otherlv_5= '}' ) { // InternalGame.g:1078:2: (otherlv_0= 'Personne' otherlv_1= '{' ( (lv_visible_2_0= ruleCondition ) ) ( (lv_obligatoire_3_0= ruleCondition ) ) ( (lv_interractions_4_0= ruleInterraction ) )+ otherlv_5= '}' ) // InternalGame.g:1079:3: otherlv_0= 'Personne' otherlv_1= '{' ( (lv_visible_2_0= ruleCondition ) ) ( (lv_obligatoire_3_0= ruleCondition ) ) ( (lv_interractions_4_0= ruleInterraction ) )+ otherlv_5= '}' { otherlv_0=(Token)match(input,27,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getPersonneAccess().getPersonneKeyword_0()); otherlv_1=(Token)match(input,12,FOLLOW_20); newLeafNode(otherlv_1, grammarAccess.getPersonneAccess().getLeftCurlyBracketKeyword_1()); // InternalGame.g:1087:3: ( (lv_visible_2_0= ruleCondition ) ) // InternalGame.g:1088:4: (lv_visible_2_0= ruleCondition ) { // InternalGame.g:1088:4: (lv_visible_2_0= ruleCondition ) // InternalGame.g:1089:5: lv_visible_2_0= ruleCondition { newCompositeNode(grammarAccess.getPersonneAccess().getVisibleConditionParserRuleCall_2_0()); pushFollow(FOLLOW_20); lv_visible_2_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getPersonneRule()); } set( current, "visible", lv_visible_2_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } // InternalGame.g:1106:3: ( (lv_obligatoire_3_0= ruleCondition ) ) // InternalGame.g:1107:4: (lv_obligatoire_3_0= ruleCondition ) { // InternalGame.g:1107:4: (lv_obligatoire_3_0= ruleCondition ) // InternalGame.g:1108:5: lv_obligatoire_3_0= ruleCondition { newCompositeNode(grammarAccess.getPersonneAccess().getObligatoireConditionParserRuleCall_3_0()); pushFollow(FOLLOW_27); lv_obligatoire_3_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getPersonneRule()); } set( current, "obligatoire", lv_obligatoire_3_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } // InternalGame.g:1125:3: ( (lv_interractions_4_0= ruleInterraction ) )+ int cnt21=0; loop21: do { int alt21=2; int LA21_0 = input.LA(1); if ( (LA21_0==28) ) { alt21=1; } switch (alt21) { case 1 : // InternalGame.g:1126:4: (lv_interractions_4_0= ruleInterraction ) { // InternalGame.g:1126:4: (lv_interractions_4_0= ruleInterraction ) // InternalGame.g:1127:5: lv_interractions_4_0= ruleInterraction { newCompositeNode(grammarAccess.getPersonneAccess().getInterractionsInterractionParserRuleCall_4_0()); pushFollow(FOLLOW_28); lv_interractions_4_0=ruleInterraction(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getPersonneRule()); } add( current, "interractions", lv_interractions_4_0, "xtext.Game.Interraction"); afterParserOrEnumRuleCall(); } } break; default : if ( cnt21 >= 1 ) break loop21; EarlyExitException eee = new EarlyExitException(21, input); throw eee; } cnt21++; } while (true); otherlv_5=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_5, grammarAccess.getPersonneAccess().getRightCurlyBracketKeyword_5()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "rulePersonne" // $ANTLR start "entryRuleInterraction" // InternalGame.g:1152:1: entryRuleInterraction returns [EObject current=null] : iv_ruleInterraction= ruleInterraction EOF ; public final EObject entryRuleInterraction() throws RecognitionException { EObject current = null; EObject iv_ruleInterraction = null; try { // InternalGame.g:1152:53: (iv_ruleInterraction= ruleInterraction EOF ) // InternalGame.g:1153:2: iv_ruleInterraction= ruleInterraction EOF { newCompositeNode(grammarAccess.getInterractionRule()); pushFollow(FOLLOW_1); iv_ruleInterraction=ruleInterraction(); state._fsp--; current =iv_ruleInterraction; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleInterraction" // $ANTLR start "ruleInterraction" // InternalGame.g:1159:1: ruleInterraction returns [EObject current=null] : (otherlv_0= 'Interraction' otherlv_1= '{' ( (lv_actions_2_0= ruleAction ) )+ ( (lv_connaissances_3_0= ruleNom ) )* ( (lv_objets_4_0= ruleNom ) )* ( (lv_visible_5_0= ruleCondition ) ) otherlv_6= '}' ) ; public final EObject ruleInterraction() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_6=null; EObject lv_actions_2_0 = null; AntlrDatatypeRuleToken lv_connaissances_3_0 = null; AntlrDatatypeRuleToken lv_objets_4_0 = null; EObject lv_visible_5_0 = null; enterRule(); try { // InternalGame.g:1165:2: ( (otherlv_0= 'Interraction' otherlv_1= '{' ( (lv_actions_2_0= ruleAction ) )+ ( (lv_connaissances_3_0= ruleNom ) )* ( (lv_objets_4_0= ruleNom ) )* ( (lv_visible_5_0= ruleCondition ) ) otherlv_6= '}' ) ) // InternalGame.g:1166:2: (otherlv_0= 'Interraction' otherlv_1= '{' ( (lv_actions_2_0= ruleAction ) )+ ( (lv_connaissances_3_0= ruleNom ) )* ( (lv_objets_4_0= ruleNom ) )* ( (lv_visible_5_0= ruleCondition ) ) otherlv_6= '}' ) { // InternalGame.g:1166:2: (otherlv_0= 'Interraction' otherlv_1= '{' ( (lv_actions_2_0= ruleAction ) )+ ( (lv_connaissances_3_0= ruleNom ) )* ( (lv_objets_4_0= ruleNom ) )* ( (lv_visible_5_0= ruleCondition ) ) otherlv_6= '}' ) // InternalGame.g:1167:3: otherlv_0= 'Interraction' otherlv_1= '{' ( (lv_actions_2_0= ruleAction ) )+ ( (lv_connaissances_3_0= ruleNom ) )* ( (lv_objets_4_0= ruleNom ) )* ( (lv_visible_5_0= ruleCondition ) ) otherlv_6= '}' { otherlv_0=(Token)match(input,28,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getInterractionAccess().getInterractionKeyword_0()); otherlv_1=(Token)match(input,12,FOLLOW_29); newLeafNode(otherlv_1, grammarAccess.getInterractionAccess().getLeftCurlyBracketKeyword_1()); // InternalGame.g:1175:3: ( (lv_actions_2_0= ruleAction ) )+ int cnt22=0; loop22: do { int alt22=2; int LA22_0 = input.LA(1); if ( (LA22_0==29) ) { alt22=1; } switch (alt22) { case 1 : // InternalGame.g:1176:4: (lv_actions_2_0= ruleAction ) { // InternalGame.g:1176:4: (lv_actions_2_0= ruleAction ) // InternalGame.g:1177:5: lv_actions_2_0= ruleAction { newCompositeNode(grammarAccess.getInterractionAccess().getActionsActionParserRuleCall_2_0()); pushFollow(FOLLOW_30); lv_actions_2_0=ruleAction(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getInterractionRule()); } add( current, "actions", lv_actions_2_0, "xtext.Game.Action"); afterParserOrEnumRuleCall(); } } break; default : if ( cnt22 >= 1 ) break loop22; EarlyExitException eee = new EarlyExitException(22, input); throw eee; } cnt22++; } while (true); // InternalGame.g:1194:3: ( (lv_connaissances_3_0= ruleNom ) )* loop23: do { int alt23=2; int LA23_0 = input.LA(1); if ( (LA23_0==RULE_STRING) ) { alt23=1; } switch (alt23) { case 1 : // InternalGame.g:1195:4: (lv_connaissances_3_0= ruleNom ) { // InternalGame.g:1195:4: (lv_connaissances_3_0= ruleNom ) // InternalGame.g:1196:5: lv_connaissances_3_0= ruleNom { newCompositeNode(grammarAccess.getInterractionAccess().getConnaissancesNomParserRuleCall_3_0()); pushFollow(FOLLOW_20); lv_connaissances_3_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getInterractionRule()); } add( current, "connaissances", lv_connaissances_3_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop23; } } while (true); // InternalGame.g:1213:3: ( (lv_objets_4_0= ruleNom ) )* loop24: do { int alt24=2; int LA24_0 = input.LA(1); if ( (LA24_0==RULE_STRING) ) { alt24=1; } switch (alt24) { case 1 : // InternalGame.g:1214:4: (lv_objets_4_0= ruleNom ) { // InternalGame.g:1214:4: (lv_objets_4_0= ruleNom ) // InternalGame.g:1215:5: lv_objets_4_0= ruleNom { newCompositeNode(grammarAccess.getInterractionAccess().getObjetsNomParserRuleCall_4_0()); pushFollow(FOLLOW_20); lv_objets_4_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getInterractionRule()); } add( current, "objets", lv_objets_4_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop24; } } while (true); // InternalGame.g:1232:3: ( (lv_visible_5_0= ruleCondition ) ) // InternalGame.g:1233:4: (lv_visible_5_0= ruleCondition ) { // InternalGame.g:1233:4: (lv_visible_5_0= ruleCondition ) // InternalGame.g:1234:5: lv_visible_5_0= ruleCondition { newCompositeNode(grammarAccess.getInterractionAccess().getVisibleConditionParserRuleCall_5_0()); pushFollow(FOLLOW_23); lv_visible_5_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getInterractionRule()); } set( current, "visible", lv_visible_5_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } otherlv_6=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_6, grammarAccess.getInterractionAccess().getRightCurlyBracketKeyword_6()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleInterraction" // $ANTLR start "entryRuleAction" // InternalGame.g:1259:1: entryRuleAction returns [EObject current=null] : iv_ruleAction= ruleAction EOF ; public final EObject entryRuleAction() throws RecognitionException { EObject current = null; EObject iv_ruleAction = null; try { // InternalGame.g:1259:47: (iv_ruleAction= ruleAction EOF ) // InternalGame.g:1260:2: iv_ruleAction= ruleAction EOF { newCompositeNode(grammarAccess.getActionRule()); pushFollow(FOLLOW_1); iv_ruleAction=ruleAction(); state._fsp--; current =iv_ruleAction; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleAction" // $ANTLR start "ruleAction" // InternalGame.g:1266:1: ruleAction returns [EObject current=null] : (otherlv_0= 'Action' otherlv_1= '{' ( (lv_connaissances_2_0= ruleNom ) )* ( (lv_objets_3_0= ruleNom ) )* ( (lv_objetsConso_4_0= ruleNom ) )* ( (lv_visible_5_0= ruleCondition ) ) ( (lv_finInterraction_6_0= ruleCondition ) ) otherlv_7= '}' ) ; public final EObject ruleAction() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_7=null; AntlrDatatypeRuleToken lv_connaissances_2_0 = null; AntlrDatatypeRuleToken lv_objets_3_0 = null; AntlrDatatypeRuleToken lv_objetsConso_4_0 = null; EObject lv_visible_5_0 = null; EObject lv_finInterraction_6_0 = null; enterRule(); try { // InternalGame.g:1272:2: ( (otherlv_0= 'Action' otherlv_1= '{' ( (lv_connaissances_2_0= ruleNom ) )* ( (lv_objets_3_0= ruleNom ) )* ( (lv_objetsConso_4_0= ruleNom ) )* ( (lv_visible_5_0= ruleCondition ) ) ( (lv_finInterraction_6_0= ruleCondition ) ) otherlv_7= '}' ) ) // InternalGame.g:1273:2: (otherlv_0= 'Action' otherlv_1= '{' ( (lv_connaissances_2_0= ruleNom ) )* ( (lv_objets_3_0= ruleNom ) )* ( (lv_objetsConso_4_0= ruleNom ) )* ( (lv_visible_5_0= ruleCondition ) ) ( (lv_finInterraction_6_0= ruleCondition ) ) otherlv_7= '}' ) { // InternalGame.g:1273:2: (otherlv_0= 'Action' otherlv_1= '{' ( (lv_connaissances_2_0= ruleNom ) )* ( (lv_objets_3_0= ruleNom ) )* ( (lv_objetsConso_4_0= ruleNom ) )* ( (lv_visible_5_0= ruleCondition ) ) ( (lv_finInterraction_6_0= ruleCondition ) ) otherlv_7= '}' ) // InternalGame.g:1274:3: otherlv_0= 'Action' otherlv_1= '{' ( (lv_connaissances_2_0= ruleNom ) )* ( (lv_objets_3_0= ruleNom ) )* ( (lv_objetsConso_4_0= ruleNom ) )* ( (lv_visible_5_0= ruleCondition ) ) ( (lv_finInterraction_6_0= ruleCondition ) ) otherlv_7= '}' { otherlv_0=(Token)match(input,29,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getActionAccess().getActionKeyword_0()); otherlv_1=(Token)match(input,12,FOLLOW_20); newLeafNode(otherlv_1, grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_1()); // InternalGame.g:1282:3: ( (lv_connaissances_2_0= ruleNom ) )* loop25: do { int alt25=2; int LA25_0 = input.LA(1); if ( (LA25_0==RULE_STRING) ) { alt25=1; } switch (alt25) { case 1 : // InternalGame.g:1283:4: (lv_connaissances_2_0= ruleNom ) { // InternalGame.g:1283:4: (lv_connaissances_2_0= ruleNom ) // InternalGame.g:1284:5: lv_connaissances_2_0= ruleNom { newCompositeNode(grammarAccess.getActionAccess().getConnaissancesNomParserRuleCall_2_0()); pushFollow(FOLLOW_20); lv_connaissances_2_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getActionRule()); } add( current, "connaissances", lv_connaissances_2_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop25; } } while (true); // InternalGame.g:1301:3: ( (lv_objets_3_0= ruleNom ) )* loop26: do { int alt26=2; int LA26_0 = input.LA(1); if ( (LA26_0==RULE_STRING) ) { alt26=1; } switch (alt26) { case 1 : // InternalGame.g:1302:4: (lv_objets_3_0= ruleNom ) { // InternalGame.g:1302:4: (lv_objets_3_0= ruleNom ) // InternalGame.g:1303:5: lv_objets_3_0= ruleNom { newCompositeNode(grammarAccess.getActionAccess().getObjetsNomParserRuleCall_3_0()); pushFollow(FOLLOW_20); lv_objets_3_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getActionRule()); } add( current, "objets", lv_objets_3_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop26; } } while (true); // InternalGame.g:1320:3: ( (lv_objetsConso_4_0= ruleNom ) )* loop27: do { int alt27=2; int LA27_0 = input.LA(1); if ( (LA27_0==RULE_STRING) ) { alt27=1; } switch (alt27) { case 1 : // InternalGame.g:1321:4: (lv_objetsConso_4_0= ruleNom ) { // InternalGame.g:1321:4: (lv_objetsConso_4_0= ruleNom ) // InternalGame.g:1322:5: lv_objetsConso_4_0= ruleNom { newCompositeNode(grammarAccess.getActionAccess().getObjetsConsoNomParserRuleCall_4_0()); pushFollow(FOLLOW_20); lv_objetsConso_4_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getActionRule()); } add( current, "objetsConso", lv_objetsConso_4_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } break; default : break loop27; } } while (true); // InternalGame.g:1339:3: ( (lv_visible_5_0= ruleCondition ) ) // InternalGame.g:1340:4: (lv_visible_5_0= ruleCondition ) { // InternalGame.g:1340:4: (lv_visible_5_0= ruleCondition ) // InternalGame.g:1341:5: lv_visible_5_0= ruleCondition { newCompositeNode(grammarAccess.getActionAccess().getVisibleConditionParserRuleCall_5_0()); pushFollow(FOLLOW_20); lv_visible_5_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getActionRule()); } set( current, "visible", lv_visible_5_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } // InternalGame.g:1358:3: ( (lv_finInterraction_6_0= ruleCondition ) ) // InternalGame.g:1359:4: (lv_finInterraction_6_0= ruleCondition ) { // InternalGame.g:1359:4: (lv_finInterraction_6_0= ruleCondition ) // InternalGame.g:1360:5: lv_finInterraction_6_0= ruleCondition { newCompositeNode(grammarAccess.getActionAccess().getFinInterractionConditionParserRuleCall_6_0()); pushFollow(FOLLOW_23); lv_finInterraction_6_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getActionRule()); } set( current, "finInterraction", lv_finInterraction_6_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } otherlv_7=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_7, grammarAccess.getActionAccess().getRightCurlyBracketKeyword_7()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleAction" // $ANTLR start "entryRuleDescription" // InternalGame.g:1385:1: entryRuleDescription returns [EObject current=null] : iv_ruleDescription= ruleDescription EOF ; public final EObject entryRuleDescription() throws RecognitionException { EObject current = null; EObject iv_ruleDescription = null; try { // InternalGame.g:1385:52: (iv_ruleDescription= ruleDescription EOF ) // InternalGame.g:1386:2: iv_ruleDescription= ruleDescription EOF { newCompositeNode(grammarAccess.getDescriptionRule()); pushFollow(FOLLOW_1); iv_ruleDescription=ruleDescription(); state._fsp--; current =iv_ruleDescription; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleDescription" // $ANTLR start "ruleDescription" // InternalGame.g:1392:1: ruleDescription returns [EObject current=null] : (otherlv_0= 'Description' otherlv_1= '{' ( (lv_texte_2_0= RULE_STRING ) ) ( (lv_condition_3_0= ruleCondition ) ) otherlv_4= '}' ) ; public final EObject ruleDescription() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token lv_texte_2_0=null; Token otherlv_4=null; EObject lv_condition_3_0 = null; enterRule(); try { // InternalGame.g:1398:2: ( (otherlv_0= 'Description' otherlv_1= '{' ( (lv_texte_2_0= RULE_STRING ) ) ( (lv_condition_3_0= ruleCondition ) ) otherlv_4= '}' ) ) // InternalGame.g:1399:2: (otherlv_0= 'Description' otherlv_1= '{' ( (lv_texte_2_0= RULE_STRING ) ) ( (lv_condition_3_0= ruleCondition ) ) otherlv_4= '}' ) { // InternalGame.g:1399:2: (otherlv_0= 'Description' otherlv_1= '{' ( (lv_texte_2_0= RULE_STRING ) ) ( (lv_condition_3_0= ruleCondition ) ) otherlv_4= '}' ) // InternalGame.g:1400:3: otherlv_0= 'Description' otherlv_1= '{' ( (lv_texte_2_0= RULE_STRING ) ) ( (lv_condition_3_0= ruleCondition ) ) otherlv_4= '}' { otherlv_0=(Token)match(input,30,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getDescriptionAccess().getDescriptionKeyword_0()); otherlv_1=(Token)match(input,12,FOLLOW_19); newLeafNode(otherlv_1, grammarAccess.getDescriptionAccess().getLeftCurlyBracketKeyword_1()); // InternalGame.g:1408:3: ( (lv_texte_2_0= RULE_STRING ) ) // InternalGame.g:1409:4: (lv_texte_2_0= RULE_STRING ) { // InternalGame.g:1409:4: (lv_texte_2_0= RULE_STRING ) // InternalGame.g:1410:5: lv_texte_2_0= RULE_STRING { lv_texte_2_0=(Token)match(input,RULE_STRING,FOLLOW_20); newLeafNode(lv_texte_2_0, grammarAccess.getDescriptionAccess().getTexteSTRINGTerminalRuleCall_2_0()); if (current==null) { current = createModelElement(grammarAccess.getDescriptionRule()); } setWithLastConsumed( current, "texte", lv_texte_2_0, "org.eclipse.xtext.common.Terminals.STRING"); } } // InternalGame.g:1426:3: ( (lv_condition_3_0= ruleCondition ) ) // InternalGame.g:1427:4: (lv_condition_3_0= ruleCondition ) { // InternalGame.g:1427:4: (lv_condition_3_0= ruleCondition ) // InternalGame.g:1428:5: lv_condition_3_0= ruleCondition { newCompositeNode(grammarAccess.getDescriptionAccess().getConditionConditionParserRuleCall_3_0()); pushFollow(FOLLOW_23); lv_condition_3_0=ruleCondition(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getDescriptionRule()); } set( current, "condition", lv_condition_3_0, "xtext.Game.Condition"); afterParserOrEnumRuleCall(); } } otherlv_4=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_4, grammarAccess.getDescriptionAccess().getRightCurlyBracketKeyword_4()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleDescription" // $ANTLR start "entryRuleCondition" // InternalGame.g:1453:1: entryRuleCondition returns [EObject current=null] : iv_ruleCondition= ruleCondition EOF ; public final EObject entryRuleCondition() throws RecognitionException { EObject current = null; EObject iv_ruleCondition = null; try { // InternalGame.g:1453:50: (iv_ruleCondition= ruleCondition EOF ) // InternalGame.g:1454:2: iv_ruleCondition= ruleCondition EOF { newCompositeNode(grammarAccess.getConditionRule()); pushFollow(FOLLOW_1); iv_ruleCondition=ruleCondition(); state._fsp--; current =iv_ruleCondition; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleCondition" // $ANTLR start "ruleCondition" // InternalGame.g:1460:1: ruleCondition returns [EObject current=null] : (otherlv_0= 'Condition' otherlv_1= '{' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '||' ( (otherlv_4= RULE_ID ) ) )* otherlv_5= '}' ) ; public final EObject ruleCondition() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_5=null; enterRule(); try { // InternalGame.g:1466:2: ( (otherlv_0= 'Condition' otherlv_1= '{' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '||' ( (otherlv_4= RULE_ID ) ) )* otherlv_5= '}' ) ) // InternalGame.g:1467:2: (otherlv_0= 'Condition' otherlv_1= '{' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '||' ( (otherlv_4= RULE_ID ) ) )* otherlv_5= '}' ) { // InternalGame.g:1467:2: (otherlv_0= 'Condition' otherlv_1= '{' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '||' ( (otherlv_4= RULE_ID ) ) )* otherlv_5= '}' ) // InternalGame.g:1468:3: otherlv_0= 'Condition' otherlv_1= '{' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '||' ( (otherlv_4= RULE_ID ) ) )* otherlv_5= '}' { otherlv_0=(Token)match(input,31,FOLLOW_3); newLeafNode(otherlv_0, grammarAccess.getConditionAccess().getConditionKeyword_0()); otherlv_1=(Token)match(input,12,FOLLOW_31); newLeafNode(otherlv_1, grammarAccess.getConditionAccess().getLeftCurlyBracketKeyword_1()); // InternalGame.g:1476:3: ( (otherlv_2= RULE_ID ) ) // InternalGame.g:1477:4: (otherlv_2= RULE_ID ) { // InternalGame.g:1477:4: (otherlv_2= RULE_ID ) // InternalGame.g:1478:5: otherlv_2= RULE_ID { if (current==null) { current = createModelElement(grammarAccess.getConditionRule()); } otherlv_2=(Token)match(input,RULE_ID,FOLLOW_32); newLeafNode(otherlv_2, grammarAccess.getConditionAccess().getConditionConditionEtCrossReference_2_0()); } } // InternalGame.g:1489:3: (otherlv_3= '||' ( (otherlv_4= RULE_ID ) ) )* loop28: do { int alt28=2; int LA28_0 = input.LA(1); if ( (LA28_0==32) ) { alt28=1; } switch (alt28) { case 1 : // InternalGame.g:1490:4: otherlv_3= '||' ( (otherlv_4= RULE_ID ) ) { otherlv_3=(Token)match(input,32,FOLLOW_31); newLeafNode(otherlv_3, grammarAccess.getConditionAccess().getVerticalLineVerticalLineKeyword_3_0()); // InternalGame.g:1494:4: ( (otherlv_4= RULE_ID ) ) // InternalGame.g:1495:5: (otherlv_4= RULE_ID ) { // InternalGame.g:1495:5: (otherlv_4= RULE_ID ) // InternalGame.g:1496:6: otherlv_4= RULE_ID { if (current==null) { current = createModelElement(grammarAccess.getConditionRule()); } otherlv_4=(Token)match(input,RULE_ID,FOLLOW_32); newLeafNode(otherlv_4, grammarAccess.getConditionAccess().getConditionConditionEtCrossReference_3_1_0()); } } } break; default : break loop28; } } while (true); otherlv_5=(Token)match(input,13,FOLLOW_2); newLeafNode(otherlv_5, grammarAccess.getConditionAccess().getRightCurlyBracketKeyword_4()); } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleCondition" // $ANTLR start "entryRuleConditionConnaissance" // InternalGame.g:1516:1: entryRuleConditionConnaissance returns [EObject current=null] : iv_ruleConditionConnaissance= ruleConditionConnaissance EOF ; public final EObject entryRuleConditionConnaissance() throws RecognitionException { EObject current = null; EObject iv_ruleConditionConnaissance = null; try { // InternalGame.g:1516:62: (iv_ruleConditionConnaissance= ruleConditionConnaissance EOF ) // InternalGame.g:1517:2: iv_ruleConditionConnaissance= ruleConditionConnaissance EOF { newCompositeNode(grammarAccess.getConditionConnaissanceRule()); pushFollow(FOLLOW_1); iv_ruleConditionConnaissance=ruleConditionConnaissance(); state._fsp--; current =iv_ruleConditionConnaissance; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleConditionConnaissance" // $ANTLR start "ruleConditionConnaissance" // InternalGame.g:1523:1: ruleConditionConnaissance returns [EObject current=null] : ( (lv_connaissance_0_0= ruleNom ) ) ; public final EObject ruleConditionConnaissance() throws RecognitionException { EObject current = null; AntlrDatatypeRuleToken lv_connaissance_0_0 = null; enterRule(); try { // InternalGame.g:1529:2: ( ( (lv_connaissance_0_0= ruleNom ) ) ) // InternalGame.g:1530:2: ( (lv_connaissance_0_0= ruleNom ) ) { // InternalGame.g:1530:2: ( (lv_connaissance_0_0= ruleNom ) ) // InternalGame.g:1531:3: (lv_connaissance_0_0= ruleNom ) { // InternalGame.g:1531:3: (lv_connaissance_0_0= ruleNom ) // InternalGame.g:1532:4: lv_connaissance_0_0= ruleNom { newCompositeNode(grammarAccess.getConditionConnaissanceAccess().getConnaissanceNomParserRuleCall_0()); pushFollow(FOLLOW_2); lv_connaissance_0_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getConditionConnaissanceRule()); } set( current, "connaissance", lv_connaissance_0_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleConditionConnaissance" // $ANTLR start "entryRuleAntiConditionConnaissance" // InternalGame.g:1552:1: entryRuleAntiConditionConnaissance returns [EObject current=null] : iv_ruleAntiConditionConnaissance= ruleAntiConditionConnaissance EOF ; public final EObject entryRuleAntiConditionConnaissance() throws RecognitionException { EObject current = null; EObject iv_ruleAntiConditionConnaissance = null; try { // InternalGame.g:1552:66: (iv_ruleAntiConditionConnaissance= ruleAntiConditionConnaissance EOF ) // InternalGame.g:1553:2: iv_ruleAntiConditionConnaissance= ruleAntiConditionConnaissance EOF { newCompositeNode(grammarAccess.getAntiConditionConnaissanceRule()); pushFollow(FOLLOW_1); iv_ruleAntiConditionConnaissance=ruleAntiConditionConnaissance(); state._fsp--; current =iv_ruleAntiConditionConnaissance; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleAntiConditionConnaissance" // $ANTLR start "ruleAntiConditionConnaissance" // InternalGame.g:1559:1: ruleAntiConditionConnaissance returns [EObject current=null] : (otherlv_0= '!' ( (lv_connaissance_1_0= ruleNom ) ) ) ; public final EObject ruleAntiConditionConnaissance() throws RecognitionException { EObject current = null; Token otherlv_0=null; AntlrDatatypeRuleToken lv_connaissance_1_0 = null; enterRule(); try { // InternalGame.g:1565:2: ( (otherlv_0= '!' ( (lv_connaissance_1_0= ruleNom ) ) ) ) // InternalGame.g:1566:2: (otherlv_0= '!' ( (lv_connaissance_1_0= ruleNom ) ) ) { // InternalGame.g:1566:2: (otherlv_0= '!' ( (lv_connaissance_1_0= ruleNom ) ) ) // InternalGame.g:1567:3: otherlv_0= '!' ( (lv_connaissance_1_0= ruleNom ) ) { otherlv_0=(Token)match(input,33,FOLLOW_19); newLeafNode(otherlv_0, grammarAccess.getAntiConditionConnaissanceAccess().getExclamationMarkKeyword_0()); // InternalGame.g:1571:3: ( (lv_connaissance_1_0= ruleNom ) ) // InternalGame.g:1572:4: (lv_connaissance_1_0= ruleNom ) { // InternalGame.g:1572:4: (lv_connaissance_1_0= ruleNom ) // InternalGame.g:1573:5: lv_connaissance_1_0= ruleNom { newCompositeNode(grammarAccess.getAntiConditionConnaissanceAccess().getConnaissanceNomParserRuleCall_1_0()); pushFollow(FOLLOW_2); lv_connaissance_1_0=ruleNom(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getAntiConditionConnaissanceRule()); } set( current, "connaissance", lv_connaissance_1_0, "xtext.Game.Nom"); afterParserOrEnumRuleCall(); } } } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleAntiConditionConnaissance" // $ANTLR start "entryRuleConditionObjet" // InternalGame.g:1594:1: entryRuleConditionObjet returns [EObject current=null] : iv_ruleConditionObjet= ruleConditionObjet EOF ; public final EObject entryRuleConditionObjet() throws RecognitionException { EObject current = null; EObject iv_ruleConditionObjet = null; try { // InternalGame.g:1594:55: (iv_ruleConditionObjet= ruleConditionObjet EOF ) // InternalGame.g:1595:2: iv_ruleConditionObjet= ruleConditionObjet EOF { newCompositeNode(grammarAccess.getConditionObjetRule()); pushFollow(FOLLOW_1); iv_ruleConditionObjet=ruleConditionObjet(); state._fsp--; current =iv_ruleConditionObjet; match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleConditionObjet" // $ANTLR start "ruleConditionObjet" // InternalGame.g:1601:1: ruleConditionObjet returns [EObject current=null] : ( ( (lv_objet_0_0= RULE_STRING ) ) ( (lv_comparateur_1_0= ruleComparateur ) ) ( (lv_nombre_2_0= RULE_INT ) ) ) ; public final EObject ruleConditionObjet() throws RecognitionException { EObject current = null; Token lv_objet_0_0=null; Token lv_nombre_2_0=null; AntlrDatatypeRuleToken lv_comparateur_1_0 = null; enterRule(); try { // InternalGame.g:1607:2: ( ( ( (lv_objet_0_0= RULE_STRING ) ) ( (lv_comparateur_1_0= ruleComparateur ) ) ( (lv_nombre_2_0= RULE_INT ) ) ) ) // InternalGame.g:1608:2: ( ( (lv_objet_0_0= RULE_STRING ) ) ( (lv_comparateur_1_0= ruleComparateur ) ) ( (lv_nombre_2_0= RULE_INT ) ) ) { // InternalGame.g:1608:2: ( ( (lv_objet_0_0= RULE_STRING ) ) ( (lv_comparateur_1_0= ruleComparateur ) ) ( (lv_nombre_2_0= RULE_INT ) ) ) // InternalGame.g:1609:3: ( (lv_objet_0_0= RULE_STRING ) ) ( (lv_comparateur_1_0= ruleComparateur ) ) ( (lv_nombre_2_0= RULE_INT ) ) { // InternalGame.g:1609:3: ( (lv_objet_0_0= RULE_STRING ) ) // InternalGame.g:1610:4: (lv_objet_0_0= RULE_STRING ) { // InternalGame.g:1610:4: (lv_objet_0_0= RULE_STRING ) // InternalGame.g:1611:5: lv_objet_0_0= RULE_STRING { lv_objet_0_0=(Token)match(input,RULE_STRING,FOLLOW_33); newLeafNode(lv_objet_0_0, grammarAccess.getConditionObjetAccess().getObjetSTRINGTerminalRuleCall_0_0()); if (current==null) { current = createModelElement(grammarAccess.getConditionObjetRule()); } setWithLastConsumed( current, "objet", lv_objet_0_0, "org.eclipse.xtext.common.Terminals.STRING"); } } // InternalGame.g:1627:3: ( (lv_comparateur_1_0= ruleComparateur ) ) // InternalGame.g:1628:4: (lv_comparateur_1_0= ruleComparateur ) { // InternalGame.g:1628:4: (lv_comparateur_1_0= ruleComparateur ) // InternalGame.g:1629:5: lv_comparateur_1_0= ruleComparateur { newCompositeNode(grammarAccess.getConditionObjetAccess().getComparateurComparateurParserRuleCall_1_0()); pushFollow(FOLLOW_12); lv_comparateur_1_0=ruleComparateur(); state._fsp--; if (current==null) { current = createModelElementForParent(grammarAccess.getConditionObjetRule()); } set( current, "comparateur", lv_comparateur_1_0, "xtext.Game.Comparateur"); afterParserOrEnumRuleCall(); } } // InternalGame.g:1646:3: ( (lv_nombre_2_0= RULE_INT ) ) // InternalGame.g:1647:4: (lv_nombre_2_0= RULE_INT ) { // InternalGame.g:1647:4: (lv_nombre_2_0= RULE_INT ) // InternalGame.g:1648:5: lv_nombre_2_0= RULE_INT { lv_nombre_2_0=(Token)match(input,RULE_INT,FOLLOW_2); newLeafNode(lv_nombre_2_0, grammarAccess.getConditionObjetAccess().getNombreINTTerminalRuleCall_2_0()); if (current==null) { current = createModelElement(grammarAccess.getConditionObjetRule()); } setWithLastConsumed( current, "nombre", lv_nombre_2_0, "org.eclipse.xtext.common.Terminals.INT"); } } } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleConditionObjet" // $ANTLR start "entryRuleComparateur" // InternalGame.g:1668:1: entryRuleComparateur returns [String current=null] : iv_ruleComparateur= ruleComparateur EOF ; public final String entryRuleComparateur() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleComparateur = null; try { // InternalGame.g:1668:51: (iv_ruleComparateur= ruleComparateur EOF ) // InternalGame.g:1669:2: iv_ruleComparateur= ruleComparateur EOF { newCompositeNode(grammarAccess.getComparateurRule()); pushFollow(FOLLOW_1); iv_ruleComparateur=ruleComparateur(); state._fsp--; current =iv_ruleComparateur.getText(); match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleComparateur" // $ANTLR start "ruleComparateur" // InternalGame.g:1675:1: ruleComparateur returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '<' | kw= '>' | kw= '=' | kw= '<=' | kw= '>=' ) ; public final AntlrDatatypeRuleToken ruleComparateur() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalGame.g:1681:2: ( (kw= '<' | kw= '>' | kw= '=' | kw= '<=' | kw= '>=' ) ) // InternalGame.g:1682:2: (kw= '<' | kw= '>' | kw= '=' | kw= '<=' | kw= '>=' ) { // InternalGame.g:1682:2: (kw= '<' | kw= '>' | kw= '=' | kw= '<=' | kw= '>=' ) int alt29=5; switch ( input.LA(1) ) { case 34: { alt29=1; } break; case 35: { alt29=2; } break; case 16: { alt29=3; } break; case 36: { alt29=4; } break; case 37: { alt29=5; } break; default: NoViableAltException nvae = new NoViableAltException("", 29, 0, input); throw nvae; } switch (alt29) { case 1 : // InternalGame.g:1683:3: kw= '<' { kw=(Token)match(input,34,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getComparateurAccess().getLessThanSignKeyword_0()); } break; case 2 : // InternalGame.g:1689:3: kw= '>' { kw=(Token)match(input,35,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getComparateurAccess().getGreaterThanSignKeyword_1()); } break; case 3 : // InternalGame.g:1695:3: kw= '=' { kw=(Token)match(input,16,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getComparateurAccess().getEqualsSignKeyword_2()); } break; case 4 : // InternalGame.g:1701:3: kw= '<=' { kw=(Token)match(input,36,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getComparateurAccess().getLessThanSignEqualsSignKeyword_3()); } break; case 5 : // InternalGame.g:1707:3: kw= '>=' { kw=(Token)match(input,37,FOLLOW_2); current.merge(kw); newLeafNode(kw, grammarAccess.getComparateurAccess().getGreaterThanSignEqualsSignKeyword_4()); } break; } } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleComparateur" // $ANTLR start "entryRuleNom" // InternalGame.g:1716:1: entryRuleNom returns [String current=null] : iv_ruleNom= ruleNom EOF ; public final String entryRuleNom() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleNom = null; try { // InternalGame.g:1716:43: (iv_ruleNom= ruleNom EOF ) // InternalGame.g:1717:2: iv_ruleNom= ruleNom EOF { newCompositeNode(grammarAccess.getNomRule()); pushFollow(FOLLOW_1); iv_ruleNom=ruleNom(); state._fsp--; current =iv_ruleNom.getText(); match(input,EOF,FOLLOW_2); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNom" // $ANTLR start "ruleNom" // InternalGame.g:1723:1: ruleNom returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_STRING_0= RULE_STRING ; public final AntlrDatatypeRuleToken ruleNom() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_STRING_0=null; enterRule(); try { // InternalGame.g:1729:2: (this_STRING_0= RULE_STRING ) // InternalGame.g:1730:2: this_STRING_0= RULE_STRING { this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_2); current.merge(this_STRING_0); newLeafNode(this_STRING_0, grammarAccess.getNomAccess().getSTRINGTerminalRuleCall()); } leaveRule(); } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleNom" // Delegated rules public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000001000L}); public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000004000L}); public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000020000L}); public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x000000000F002000L}); public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x000000000E002000L}); public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x000000000A002000L}); public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000002002000L}); public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000010000L}); public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000002020L}); public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000040000L}); public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000080000L}); public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000200000L}); public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000300000L}); public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000402000L}); public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000088000020L}); public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000040000000L}); public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x00000000C8000020L}); public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000002000L}); public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000800000L}); public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000040002000L}); public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000800020L}); public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000010000000L}); public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000010002000L}); public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000020000000L}); public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x00000000A8000020L}); public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000040L}); public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000100002000L}); public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000003C00010000L}); }