00001 package org.best.of.robotics.parser.antlr.internal;
00002
00003 import org.eclipse.xtext.*;
00004 import org.eclipse.xtext.parser.*;
00005 import org.eclipse.xtext.parser.impl.*;
00006 import org.eclipse.emf.ecore.util.EcoreUtil;
00007 import org.eclipse.emf.ecore.EObject;
00008 import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
00009 import org.eclipse.xtext.parser.antlr.XtextTokenStream;
00010 import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
00011 import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
00012 import org.best.of.robotics.services.SmachDSLGrammarAccess;
00013
00014
00015
00016 import org.antlr.runtime.*;
00017 import java.util.Stack;
00018 import java.util.List;
00019 import java.util.ArrayList;
00020
00021 @SuppressWarnings("all")
00022 public class InternalSmachDSLParser extends AbstractInternalAntlrParser {
00023 public static final String[] tokenNames = new String[] {
00024 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'statemachine'", "'{'", "'}'", "'ActionClient'", "'aname:'", "','", "'atype:'", "'ServiceClient'", "'name:'", "'srv:'", "'actionstate'", "'client:'", "'=>'", "'succeeded'", "'preempted'", "'aborted'"
00025 };
00026 public static final int RULE_ID=4;
00027 public static final int T__26=26;
00028 public static final int T__25=25;
00029 public static final int T__24=24;
00030 public static final int T__23=23;
00031 public static final int T__22=22;
00032 public static final int RULE_ANY_OTHER=10;
00033 public static final int T__21=21;
00034 public static final int T__20=20;
00035 public static final int RULE_SL_COMMENT=8;
00036 public static final int EOF=-1;
00037 public static final int RULE_ML_COMMENT=7;
00038 public static final int T__19=19;
00039 public static final int RULE_STRING=5;
00040 public static final int T__16=16;
00041 public static final int T__15=15;
00042 public static final int T__18=18;
00043 public static final int T__17=17;
00044 public static final int T__12=12;
00045 public static final int T__11=11;
00046 public static final int T__14=14;
00047 public static final int T__13=13;
00048 public static final int RULE_INT=6;
00049 public static final int RULE_WS=9;
00050
00051
00052
00053
00054
00055 public InternalSmachDSLParser(TokenStream input) {
00056 this(input, new RecognizerSharedState());
00057 }
00058 public InternalSmachDSLParser(TokenStream input, RecognizerSharedState state) {
00059 super(input, state);
00060
00061 }
00062
00063
00064 public String[] getTokenNames() { return InternalSmachDSLParser.tokenNames; }
00065 public String getGrammarFileName() { return "../org.best.of.robotics.dsl.smach/src-gen/org/best/of/robotics/parser/antlr/internal/InternalSmachDSL.g"; }
00066
00067
00068
00069 private SmachDSLGrammarAccess grammarAccess;
00070
00071 public InternalSmachDSLParser(TokenStream input, SmachDSLGrammarAccess grammarAccess) {
00072 this(input);
00073 this.grammarAccess = grammarAccess;
00074 registerRules(grammarAccess.getGrammar());
00075 }
00076
00077 @Override
00078 protected String getFirstRuleName() {
00079 return "PrimitivePackage";
00080 }
00081
00082 @Override
00083 protected SmachDSLGrammarAccess getGrammarAccess() {
00084 return grammarAccess;
00085 }
00086
00087
00088
00089
00090
00091 public final EObject entryRulePrimitivePackage() throws RecognitionException {
00092 EObject current = null;
00093
00094 EObject iv_rulePrimitivePackage = null;
00095
00096
00097 try {
00098
00099
00100 {
00101 newCompositeNode(grammarAccess.getPrimitivePackageRule());
00102 pushFollow(FOLLOW_rulePrimitivePackage_in_entryRulePrimitivePackage75);
00103 iv_rulePrimitivePackage=rulePrimitivePackage();
00104
00105 state._fsp--;
00106
00107 current =iv_rulePrimitivePackage;
00108 match(input,EOF,FOLLOW_EOF_in_entryRulePrimitivePackage85);
00109
00110 }
00111
00112 }
00113
00114 catch (RecognitionException re) {
00115 recover(input,re);
00116 appendSkippedTokens();
00117 }
00118 finally {
00119 }
00120 return current;
00121 }
00122
00123
00124
00125
00126
00127 public final EObject rulePrimitivePackage() throws RecognitionException {
00128 EObject current = null;
00129
00130 EObject lv_statemachines_0_0 = null;
00131
00132
00133 enterRule();
00134
00135 try {
00136
00137
00138 {
00139
00140 loop1:
00141 do {
00142 int alt1=2;
00143 int LA1_0 = input.LA(1);
00144
00145 if ( (LA1_0==11) ) {
00146 alt1=1;
00147 }
00148
00149
00150 switch (alt1) {
00151 case 1 :
00152
00153 {
00154
00155
00156 {
00157
00158 newCompositeNode(grammarAccess.getPrimitivePackageAccess().getStatemachinesStateMachineParserRuleCall_0());
00159
00160 pushFollow(FOLLOW_ruleStateMachine_in_rulePrimitivePackage130);
00161 lv_statemachines_0_0=ruleStateMachine();
00162
00163 state._fsp--;
00164
00165
00166 if (current==null) {
00167 current = createModelElementForParent(grammarAccess.getPrimitivePackageRule());
00168 }
00169 add(
00170 current,
00171 "statemachines",
00172 lv_statemachines_0_0,
00173 "StateMachine");
00174 afterParserOrEnumRuleCall();
00175
00176
00177 }
00178
00179
00180 }
00181 break;
00182
00183 default :
00184 break loop1;
00185 }
00186 } while (true);
00187
00188
00189 }
00190
00191 leaveRule();
00192 }
00193
00194 catch (RecognitionException re) {
00195 recover(input,re);
00196 appendSkippedTokens();
00197 }
00198 finally {
00199 }
00200 return current;
00201 }
00202
00203
00204
00205
00206
00207 public final EObject entryRuleStateMachine() throws RecognitionException {
00208 EObject current = null;
00209
00210 EObject iv_ruleStateMachine = null;
00211
00212
00213 try {
00214
00215
00216 {
00217 newCompositeNode(grammarAccess.getStateMachineRule());
00218 pushFollow(FOLLOW_ruleStateMachine_in_entryRuleStateMachine168);
00219 iv_ruleStateMachine=ruleStateMachine();
00220
00221 state._fsp--;
00222
00223 current =iv_ruleStateMachine;
00224 match(input,EOF,FOLLOW_EOF_in_entryRuleStateMachine178);
00225
00226 }
00227
00228 }
00229
00230 catch (RecognitionException re) {
00231 recover(input,re);
00232 appendSkippedTokens();
00233 }
00234 finally {
00235 }
00236 return current;
00237 }
00238
00239
00240
00241
00242
00243 public final EObject ruleStateMachine() throws RecognitionException {
00244 EObject current = null;
00245
00246 Token otherlv_0=null;
00247 Token lv_name_1_0=null;
00248 Token otherlv_2=null;
00249 Token otherlv_6=null;
00250 EObject lv_actionclients_3_0 = null;
00251
00252 EObject lv_serviceclients_4_0 = null;
00253
00254 EObject lv_actionsstates_5_0 = null;
00255
00256
00257 enterRule();
00258
00259 try {
00260
00261
00262 {
00263
00264
00265 {
00266 otherlv_0=(Token)match(input,11,FOLLOW_11_in_ruleStateMachine215);
00267
00268 newLeafNode(otherlv_0, grammarAccess.getStateMachineAccess().getStatemachineKeyword_0());
00269
00270
00271
00272 {
00273
00274
00275 {
00276 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleStateMachine232);
00277
00278 newLeafNode(lv_name_1_0, grammarAccess.getStateMachineAccess().getNameIDTerminalRuleCall_1_0());
00279
00280
00281 if (current==null) {
00282 current = createModelElement(grammarAccess.getStateMachineRule());
00283 }
00284 setWithLastConsumed(
00285 current,
00286 "name",
00287 lv_name_1_0,
00288 "ID");
00289
00290
00291 }
00292
00293
00294 }
00295
00296 otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleStateMachine249);
00297
00298 newLeafNode(otherlv_2, grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_2());
00299
00300
00301 loop2:
00302 do {
00303 int alt2=2;
00304 int LA2_0 = input.LA(1);
00305
00306 if ( (LA2_0==14) ) {
00307 alt2=1;
00308 }
00309
00310
00311 switch (alt2) {
00312 case 1 :
00313
00314 {
00315
00316
00317 {
00318
00319 newCompositeNode(grammarAccess.getStateMachineAccess().getActionclientsActionClientParserRuleCall_3_0());
00320
00321 pushFollow(FOLLOW_ruleActionClient_in_ruleStateMachine270);
00322 lv_actionclients_3_0=ruleActionClient();
00323
00324 state._fsp--;
00325
00326
00327 if (current==null) {
00328 current = createModelElementForParent(grammarAccess.getStateMachineRule());
00329 }
00330 add(
00331 current,
00332 "actionclients",
00333 lv_actionclients_3_0,
00334 "ActionClient");
00335 afterParserOrEnumRuleCall();
00336
00337
00338 }
00339
00340
00341 }
00342 break;
00343
00344 default :
00345 break loop2;
00346 }
00347 } while (true);
00348
00349
00350 loop3:
00351 do {
00352 int alt3=2;
00353 int LA3_0 = input.LA(1);
00354
00355 if ( (LA3_0==18) ) {
00356 alt3=1;
00357 }
00358
00359
00360 switch (alt3) {
00361 case 1 :
00362
00363 {
00364
00365
00366 {
00367
00368 newCompositeNode(grammarAccess.getStateMachineAccess().getServiceclientsServiceClientParserRuleCall_4_0());
00369
00370 pushFollow(FOLLOW_ruleServiceClient_in_ruleStateMachine292);
00371 lv_serviceclients_4_0=ruleServiceClient();
00372
00373 state._fsp--;
00374
00375
00376 if (current==null) {
00377 current = createModelElementForParent(grammarAccess.getStateMachineRule());
00378 }
00379 add(
00380 current,
00381 "serviceclients",
00382 lv_serviceclients_4_0,
00383 "ServiceClient");
00384 afterParserOrEnumRuleCall();
00385
00386
00387 }
00388
00389
00390 }
00391 break;
00392
00393 default :
00394 break loop3;
00395 }
00396 } while (true);
00397
00398
00399 loop4:
00400 do {
00401 int alt4=2;
00402 int LA4_0 = input.LA(1);
00403
00404 if ( (LA4_0==21) ) {
00405 alt4=1;
00406 }
00407
00408
00409 switch (alt4) {
00410 case 1 :
00411
00412 {
00413
00414
00415 {
00416
00417 newCompositeNode(grammarAccess.getStateMachineAccess().getActionsstatesActionStateParserRuleCall_5_0());
00418
00419 pushFollow(FOLLOW_ruleActionState_in_ruleStateMachine314);
00420 lv_actionsstates_5_0=ruleActionState();
00421
00422 state._fsp--;
00423
00424
00425 if (current==null) {
00426 current = createModelElementForParent(grammarAccess.getStateMachineRule());
00427 }
00428 add(
00429 current,
00430 "actionsstates",
00431 lv_actionsstates_5_0,
00432 "ActionState");
00433 afterParserOrEnumRuleCall();
00434
00435
00436 }
00437
00438
00439 }
00440 break;
00441
00442 default :
00443 break loop4;
00444 }
00445 } while (true);
00446
00447 otherlv_6=(Token)match(input,13,FOLLOW_13_in_ruleStateMachine327);
00448
00449 newLeafNode(otherlv_6, grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_6());
00450
00451
00452 }
00453
00454
00455 }
00456
00457 leaveRule();
00458 }
00459
00460 catch (RecognitionException re) {
00461 recover(input,re);
00462 appendSkippedTokens();
00463 }
00464 finally {
00465 }
00466 return current;
00467 }
00468
00469
00470
00471
00472
00473 public final EObject entryRuleActionClient() throws RecognitionException {
00474 EObject current = null;
00475
00476 EObject iv_ruleActionClient = null;
00477
00478
00479 try {
00480
00481
00482 {
00483 newCompositeNode(grammarAccess.getActionClientRule());
00484 pushFollow(FOLLOW_ruleActionClient_in_entryRuleActionClient363);
00485 iv_ruleActionClient=ruleActionClient();
00486
00487 state._fsp--;
00488
00489 current =iv_ruleActionClient;
00490 match(input,EOF,FOLLOW_EOF_in_entryRuleActionClient373);
00491
00492 }
00493
00494 }
00495
00496 catch (RecognitionException re) {
00497 recover(input,re);
00498 appendSkippedTokens();
00499 }
00500 finally {
00501 }
00502 return current;
00503 }
00504
00505
00506
00507
00508
00509 public final EObject ruleActionClient() throws RecognitionException {
00510 EObject current = null;
00511
00512 Token otherlv_0=null;
00513 Token lv_name_1_0=null;
00514 Token otherlv_2=null;
00515 Token otherlv_3=null;
00516 Token lv_actionname_4_0=null;
00517 Token otherlv_5=null;
00518 Token otherlv_6=null;
00519 Token lv_actiontype_7_0=null;
00520 Token otherlv_8=null;
00521
00522 enterRule();
00523
00524 try {
00525
00526
00527 {
00528
00529
00530 {
00531 otherlv_0=(Token)match(input,14,FOLLOW_14_in_ruleActionClient410);
00532
00533 newLeafNode(otherlv_0, grammarAccess.getActionClientAccess().getActionClientKeyword_0());
00534
00535
00536
00537 {
00538
00539
00540 {
00541 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleActionClient427);
00542
00543 newLeafNode(lv_name_1_0, grammarAccess.getActionClientAccess().getNameIDTerminalRuleCall_1_0());
00544
00545
00546 if (current==null) {
00547 current = createModelElement(grammarAccess.getActionClientRule());
00548 }
00549 setWithLastConsumed(
00550 current,
00551 "name",
00552 lv_name_1_0,
00553 "ID");
00554
00555
00556 }
00557
00558
00559 }
00560
00561 otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleActionClient444);
00562
00563 newLeafNode(otherlv_2, grammarAccess.getActionClientAccess().getLeftCurlyBracketKeyword_2());
00564
00565 otherlv_3=(Token)match(input,15,FOLLOW_15_in_ruleActionClient456);
00566
00567 newLeafNode(otherlv_3, grammarAccess.getActionClientAccess().getAnameKeyword_3());
00568
00569
00570
00571 {
00572
00573
00574 {
00575 lv_actionname_4_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleActionClient473);
00576
00577 newLeafNode(lv_actionname_4_0, grammarAccess.getActionClientAccess().getActionnameSTRINGTerminalRuleCall_4_0());
00578
00579
00580 if (current==null) {
00581 current = createModelElement(grammarAccess.getActionClientRule());
00582 }
00583 setWithLastConsumed(
00584 current,
00585 "actionname",
00586 lv_actionname_4_0,
00587 "STRING");
00588
00589
00590 }
00591
00592
00593 }
00594
00595 otherlv_5=(Token)match(input,16,FOLLOW_16_in_ruleActionClient490);
00596
00597 newLeafNode(otherlv_5, grammarAccess.getActionClientAccess().getCommaKeyword_5());
00598
00599 otherlv_6=(Token)match(input,17,FOLLOW_17_in_ruleActionClient502);
00600
00601 newLeafNode(otherlv_6, grammarAccess.getActionClientAccess().getAtypeKeyword_6());
00602
00603
00604
00605 {
00606
00607
00608 {
00609 lv_actiontype_7_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleActionClient519);
00610
00611 newLeafNode(lv_actiontype_7_0, grammarAccess.getActionClientAccess().getActiontypeSTRINGTerminalRuleCall_7_0());
00612
00613
00614 if (current==null) {
00615 current = createModelElement(grammarAccess.getActionClientRule());
00616 }
00617 setWithLastConsumed(
00618 current,
00619 "actiontype",
00620 lv_actiontype_7_0,
00621 "STRING");
00622
00623
00624 }
00625
00626
00627 }
00628
00629 otherlv_8=(Token)match(input,13,FOLLOW_13_in_ruleActionClient536);
00630
00631 newLeafNode(otherlv_8, grammarAccess.getActionClientAccess().getRightCurlyBracketKeyword_8());
00632
00633
00634 }
00635
00636
00637 }
00638
00639 leaveRule();
00640 }
00641
00642 catch (RecognitionException re) {
00643 recover(input,re);
00644 appendSkippedTokens();
00645 }
00646 finally {
00647 }
00648 return current;
00649 }
00650
00651
00652
00653
00654
00655 public final EObject entryRuleServiceClient() throws RecognitionException {
00656 EObject current = null;
00657
00658 EObject iv_ruleServiceClient = null;
00659
00660
00661 try {
00662
00663
00664 {
00665 newCompositeNode(grammarAccess.getServiceClientRule());
00666 pushFollow(FOLLOW_ruleServiceClient_in_entryRuleServiceClient572);
00667 iv_ruleServiceClient=ruleServiceClient();
00668
00669 state._fsp--;
00670
00671 current =iv_ruleServiceClient;
00672 match(input,EOF,FOLLOW_EOF_in_entryRuleServiceClient582);
00673
00674 }
00675
00676 }
00677
00678 catch (RecognitionException re) {
00679 recover(input,re);
00680 appendSkippedTokens();
00681 }
00682 finally {
00683 }
00684 return current;
00685 }
00686
00687
00688
00689
00690
00691 public final EObject ruleServiceClient() throws RecognitionException {
00692 EObject current = null;
00693
00694 Token otherlv_0=null;
00695 Token lv_name_1_0=null;
00696 Token otherlv_2=null;
00697 Token otherlv_3=null;
00698 Token lv_servicename_4_0=null;
00699 Token otherlv_5=null;
00700 Token otherlv_6=null;
00701 Token lv_servicesrv_7_0=null;
00702 Token otherlv_8=null;
00703
00704 enterRule();
00705
00706 try {
00707
00708
00709 {
00710
00711
00712 {
00713 otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleServiceClient619);
00714
00715 newLeafNode(otherlv_0, grammarAccess.getServiceClientAccess().getServiceClientKeyword_0());
00716
00717
00718
00719 {
00720
00721
00722 {
00723 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleServiceClient636);
00724
00725 newLeafNode(lv_name_1_0, grammarAccess.getServiceClientAccess().getNameIDTerminalRuleCall_1_0());
00726
00727
00728 if (current==null) {
00729 current = createModelElement(grammarAccess.getServiceClientRule());
00730 }
00731 setWithLastConsumed(
00732 current,
00733 "name",
00734 lv_name_1_0,
00735 "ID");
00736
00737
00738 }
00739
00740
00741 }
00742
00743 otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleServiceClient653);
00744
00745 newLeafNode(otherlv_2, grammarAccess.getServiceClientAccess().getLeftCurlyBracketKeyword_2());
00746
00747 otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleServiceClient665);
00748
00749 newLeafNode(otherlv_3, grammarAccess.getServiceClientAccess().getNameKeyword_3());
00750
00751
00752
00753 {
00754
00755
00756 {
00757 lv_servicename_4_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleServiceClient682);
00758
00759 newLeafNode(lv_servicename_4_0, grammarAccess.getServiceClientAccess().getServicenameSTRINGTerminalRuleCall_4_0());
00760
00761
00762 if (current==null) {
00763 current = createModelElement(grammarAccess.getServiceClientRule());
00764 }
00765 setWithLastConsumed(
00766 current,
00767 "servicename",
00768 lv_servicename_4_0,
00769 "STRING");
00770
00771
00772 }
00773
00774
00775 }
00776
00777 otherlv_5=(Token)match(input,16,FOLLOW_16_in_ruleServiceClient699);
00778
00779 newLeafNode(otherlv_5, grammarAccess.getServiceClientAccess().getCommaKeyword_5());
00780
00781 otherlv_6=(Token)match(input,20,FOLLOW_20_in_ruleServiceClient711);
00782
00783 newLeafNode(otherlv_6, grammarAccess.getServiceClientAccess().getSrvKeyword_6());
00784
00785
00786
00787 {
00788
00789
00790 {
00791 lv_servicesrv_7_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleServiceClient728);
00792
00793 newLeafNode(lv_servicesrv_7_0, grammarAccess.getServiceClientAccess().getServicesrvSTRINGTerminalRuleCall_7_0());
00794
00795
00796 if (current==null) {
00797 current = createModelElement(grammarAccess.getServiceClientRule());
00798 }
00799 setWithLastConsumed(
00800 current,
00801 "servicesrv",
00802 lv_servicesrv_7_0,
00803 "STRING");
00804
00805
00806 }
00807
00808
00809 }
00810
00811 otherlv_8=(Token)match(input,13,FOLLOW_13_in_ruleServiceClient745);
00812
00813 newLeafNode(otherlv_8, grammarAccess.getServiceClientAccess().getRightCurlyBracketKeyword_8());
00814
00815
00816 }
00817
00818
00819 }
00820
00821 leaveRule();
00822 }
00823
00824 catch (RecognitionException re) {
00825 recover(input,re);
00826 appendSkippedTokens();
00827 }
00828 finally {
00829 }
00830 return current;
00831 }
00832
00833
00834
00835
00836
00837 public final EObject entryRuleActionState() throws RecognitionException {
00838 EObject current = null;
00839
00840 EObject iv_ruleActionState = null;
00841
00842
00843 try {
00844
00845
00846 {
00847 newCompositeNode(grammarAccess.getActionStateRule());
00848 pushFollow(FOLLOW_ruleActionState_in_entryRuleActionState781);
00849 iv_ruleActionState=ruleActionState();
00850
00851 state._fsp--;
00852
00853 current =iv_ruleActionState;
00854 match(input,EOF,FOLLOW_EOF_in_entryRuleActionState791);
00855
00856 }
00857
00858 }
00859
00860 catch (RecognitionException re) {
00861 recover(input,re);
00862 appendSkippedTokens();
00863 }
00864 finally {
00865 }
00866 return current;
00867 }
00868
00869
00870
00871
00872
00873 public final EObject ruleActionState() throws RecognitionException {
00874 EObject current = null;
00875
00876 Token otherlv_0=null;
00877 Token lv_name_1_0=null;
00878 Token otherlv_2=null;
00879 Token otherlv_3=null;
00880 Token otherlv_4=null;
00881 Token otherlv_5=null;
00882 Token otherlv_7=null;
00883 Token otherlv_8=null;
00884 EObject lv_transitions_6_0 = null;
00885
00886
00887 enterRule();
00888
00889 try {
00890
00891
00892 {
00893
00894
00895 {
00896 otherlv_0=(Token)match(input,21,FOLLOW_21_in_ruleActionState828);
00897
00898 newLeafNode(otherlv_0, grammarAccess.getActionStateAccess().getActionstateKeyword_0());
00899
00900
00901
00902 {
00903
00904
00905 {
00906 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleActionState845);
00907
00908 newLeafNode(lv_name_1_0, grammarAccess.getActionStateAccess().getNameIDTerminalRuleCall_1_0());
00909
00910
00911 if (current==null) {
00912 current = createModelElement(grammarAccess.getActionStateRule());
00913 }
00914 setWithLastConsumed(
00915 current,
00916 "name",
00917 lv_name_1_0,
00918 "ID");
00919
00920
00921 }
00922
00923
00924 }
00925
00926 otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleActionState862);
00927
00928 newLeafNode(otherlv_2, grammarAccess.getActionStateAccess().getLeftCurlyBracketKeyword_2());
00929
00930 otherlv_3=(Token)match(input,22,FOLLOW_22_in_ruleActionState874);
00931
00932 newLeafNode(otherlv_3, grammarAccess.getActionStateAccess().getClientKeyword_3());
00933
00934
00935
00936 {
00937
00938
00939 {
00940
00941 if (current==null) {
00942 current = createModelElement(grammarAccess.getActionStateRule());
00943 }
00944
00945 otherlv_4=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleActionState894);
00946
00947 newLeafNode(otherlv_4, grammarAccess.getActionStateAccess().getClientnameActionClientCrossReference_4_0());
00948
00949
00950 }
00951
00952
00953 }
00954
00955 otherlv_5=(Token)match(input,16,FOLLOW_16_in_ruleActionState906);
00956
00957 newLeafNode(otherlv_5, grammarAccess.getActionStateAccess().getCommaKeyword_5());
00958
00959
00960 int alt6=2;
00961 int LA6_0 = input.LA(1);
00962
00963 if ( (LA6_0==16||(LA6_0>=24 && LA6_0<=26)) ) {
00964 alt6=1;
00965 }
00966 switch (alt6) {
00967 case 1 :
00968
00969 {
00970
00971 loop5:
00972 do {
00973 int alt5=2;
00974 int LA5_0 = input.LA(1);
00975
00976 if ( ((LA5_0>=24 && LA5_0<=26)) ) {
00977 alt5=1;
00978 }
00979
00980
00981 switch (alt5) {
00982 case 1 :
00983
00984 {
00985
00986
00987 {
00988
00989 newCompositeNode(grammarAccess.getActionStateAccess().getTransitionsTransitionParserRuleCall_6_0_0());
00990
00991 pushFollow(FOLLOW_ruleTransition_in_ruleActionState928);
00992 lv_transitions_6_0=ruleTransition();
00993
00994 state._fsp--;
00995
00996
00997 if (current==null) {
00998 current = createModelElementForParent(grammarAccess.getActionStateRule());
00999 }
01000 add(
01001 current,
01002 "transitions",
01003 lv_transitions_6_0,
01004 "Transition");
01005 afterParserOrEnumRuleCall();
01006
01007
01008 }
01009
01010
01011 }
01012 break;
01013
01014 default :
01015 break loop5;
01016 }
01017 } while (true);
01018
01019 otherlv_7=(Token)match(input,16,FOLLOW_16_in_ruleActionState941);
01020
01021 newLeafNode(otherlv_7, grammarAccess.getActionStateAccess().getCommaKeyword_6_1());
01022
01023
01024 }
01025 break;
01026
01027 }
01028
01029 otherlv_8=(Token)match(input,13,FOLLOW_13_in_ruleActionState955);
01030
01031 newLeafNode(otherlv_8, grammarAccess.getActionStateAccess().getRightCurlyBracketKeyword_7());
01032
01033
01034 }
01035
01036
01037 }
01038
01039 leaveRule();
01040 }
01041
01042 catch (RecognitionException re) {
01043 recover(input,re);
01044 appendSkippedTokens();
01045 }
01046 finally {
01047 }
01048 return current;
01049 }
01050
01051
01052
01053
01054
01055 public final EObject entryRuleTransition() throws RecognitionException {
01056 EObject current = null;
01057
01058 EObject iv_ruleTransition = null;
01059
01060
01061 try {
01062
01063
01064 {
01065 newCompositeNode(grammarAccess.getTransitionRule());
01066 pushFollow(FOLLOW_ruleTransition_in_entryRuleTransition993);
01067 iv_ruleTransition=ruleTransition();
01068
01069 state._fsp--;
01070
01071 current =iv_ruleTransition;
01072 match(input,EOF,FOLLOW_EOF_in_entryRuleTransition1003);
01073
01074 }
01075
01076 }
01077
01078 catch (RecognitionException re) {
01079 recover(input,re);
01080 appendSkippedTokens();
01081 }
01082 finally {
01083 }
01084 return current;
01085 }
01086
01087
01088
01089
01090
01091 public final EObject ruleTransition() throws RecognitionException {
01092 EObject current = null;
01093
01094 Token otherlv_1=null;
01095 Token otherlv_2=null;
01096 AntlrDatatypeRuleToken lv_outcome_0_0 = null;
01097
01098
01099 enterRule();
01100
01101 try {
01102
01103
01104 {
01105
01106
01107 {
01108
01109
01110 {
01111
01112
01113 {
01114
01115 newCompositeNode(grammarAccess.getTransitionAccess().getOutcomeOUTCOMEParserRuleCall_0_0());
01116
01117 pushFollow(FOLLOW_ruleOUTCOME_in_ruleTransition1049);
01118 lv_outcome_0_0=ruleOUTCOME();
01119
01120 state._fsp--;
01121
01122
01123 if (current==null) {
01124 current = createModelElementForParent(grammarAccess.getTransitionRule());
01125 }
01126 set(
01127 current,
01128 "outcome",
01129 lv_outcome_0_0,
01130 "OUTCOME");
01131 afterParserOrEnumRuleCall();
01132
01133
01134 }
01135
01136
01137 }
01138
01139 otherlv_1=(Token)match(input,23,FOLLOW_23_in_ruleTransition1061);
01140
01141 newLeafNode(otherlv_1, grammarAccess.getTransitionAccess().getEqualsSignGreaterThanSignKeyword_1());
01142
01143
01144
01145 {
01146
01147
01148 {
01149
01150 if (current==null) {
01151 current = createModelElement(grammarAccess.getTransitionRule());
01152 }
01153
01154 otherlv_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTransition1081);
01155
01156 newLeafNode(otherlv_2, grammarAccess.getTransitionAccess().getStateActionStateCrossReference_2_0());
01157
01158
01159 }
01160
01161
01162 }
01163
01164
01165 }
01166
01167
01168 }
01169
01170 leaveRule();
01171 }
01172
01173 catch (RecognitionException re) {
01174 recover(input,re);
01175 appendSkippedTokens();
01176 }
01177 finally {
01178 }
01179 return current;
01180 }
01181
01182
01183
01184
01185
01186 public final String entryRuleOUTCOME() throws RecognitionException {
01187 String current = null;
01188
01189 AntlrDatatypeRuleToken iv_ruleOUTCOME = null;
01190
01191
01192 try {
01193
01194
01195 {
01196 newCompositeNode(grammarAccess.getOUTCOMERule());
01197 pushFollow(FOLLOW_ruleOUTCOME_in_entryRuleOUTCOME1118);
01198 iv_ruleOUTCOME=ruleOUTCOME();
01199
01200 state._fsp--;
01201
01202 current =iv_ruleOUTCOME.getText();
01203 match(input,EOF,FOLLOW_EOF_in_entryRuleOUTCOME1129);
01204
01205 }
01206
01207 }
01208
01209 catch (RecognitionException re) {
01210 recover(input,re);
01211 appendSkippedTokens();
01212 }
01213 finally {
01214 }
01215 return current;
01216 }
01217
01218
01219
01220
01221
01222 public final AntlrDatatypeRuleToken ruleOUTCOME() throws RecognitionException {
01223 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
01224
01225 Token kw=null;
01226
01227 enterRule();
01228
01229 try {
01230
01231
01232 {
01233
01234 int alt7=3;
01235 switch ( input.LA(1) ) {
01236 case 24:
01237 {
01238 alt7=1;
01239 }
01240 break;
01241 case 25:
01242 {
01243 alt7=2;
01244 }
01245 break;
01246 case 26:
01247 {
01248 alt7=3;
01249 }
01250 break;
01251 default:
01252 NoViableAltException nvae =
01253 new NoViableAltException("", 7, 0, input);
01254
01255 throw nvae;
01256 }
01257
01258 switch (alt7) {
01259 case 1 :
01260
01261 {
01262 kw=(Token)match(input,24,FOLLOW_24_in_ruleOUTCOME1167);
01263
01264 current.merge(kw);
01265 newLeafNode(kw, grammarAccess.getOUTCOMEAccess().getSucceededKeyword_0());
01266
01267
01268 }
01269 break;
01270 case 2 :
01271
01272 {
01273 kw=(Token)match(input,25,FOLLOW_25_in_ruleOUTCOME1186);
01274
01275 current.merge(kw);
01276 newLeafNode(kw, grammarAccess.getOUTCOMEAccess().getPreemptedKeyword_1());
01277
01278
01279 }
01280 break;
01281 case 3 :
01282
01283 {
01284 kw=(Token)match(input,26,FOLLOW_26_in_ruleOUTCOME1205);
01285
01286 current.merge(kw);
01287 newLeafNode(kw, grammarAccess.getOUTCOMEAccess().getAbortedKeyword_2());
01288
01289
01290 }
01291 break;
01292
01293 }
01294
01295
01296 }
01297
01298 leaveRule();
01299 }
01300
01301 catch (RecognitionException re) {
01302 recover(input,re);
01303 appendSkippedTokens();
01304 }
01305 finally {
01306 }
01307 return current;
01308 }
01309
01310
01311
01312
01313
01314
01315
01316 public static final BitSet FOLLOW_rulePrimitivePackage_in_entryRulePrimitivePackage75 = new BitSet(new long[]{0x0000000000000000L});
01317 public static final BitSet FOLLOW_EOF_in_entryRulePrimitivePackage85 = new BitSet(new long[]{0x0000000000000002L});
01318 public static final BitSet FOLLOW_ruleStateMachine_in_rulePrimitivePackage130 = new BitSet(new long[]{0x0000000000000802L});
01319 public static final BitSet FOLLOW_ruleStateMachine_in_entryRuleStateMachine168 = new BitSet(new long[]{0x0000000000000000L});
01320 public static final BitSet FOLLOW_EOF_in_entryRuleStateMachine178 = new BitSet(new long[]{0x0000000000000002L});
01321 public static final BitSet FOLLOW_11_in_ruleStateMachine215 = new BitSet(new long[]{0x0000000000000010L});
01322 public static final BitSet FOLLOW_RULE_ID_in_ruleStateMachine232 = new BitSet(new long[]{0x0000000000001000L});
01323 public static final BitSet FOLLOW_12_in_ruleStateMachine249 = new BitSet(new long[]{0x0000000000246000L});
01324 public static final BitSet FOLLOW_ruleActionClient_in_ruleStateMachine270 = new BitSet(new long[]{0x0000000000246000L});
01325 public static final BitSet FOLLOW_ruleServiceClient_in_ruleStateMachine292 = new BitSet(new long[]{0x0000000000242000L});
01326 public static final BitSet FOLLOW_ruleActionState_in_ruleStateMachine314 = new BitSet(new long[]{0x0000000000202000L});
01327 public static final BitSet FOLLOW_13_in_ruleStateMachine327 = new BitSet(new long[]{0x0000000000000002L});
01328 public static final BitSet FOLLOW_ruleActionClient_in_entryRuleActionClient363 = new BitSet(new long[]{0x0000000000000000L});
01329 public static final BitSet FOLLOW_EOF_in_entryRuleActionClient373 = new BitSet(new long[]{0x0000000000000002L});
01330 public static final BitSet FOLLOW_14_in_ruleActionClient410 = new BitSet(new long[]{0x0000000000000010L});
01331 public static final BitSet FOLLOW_RULE_ID_in_ruleActionClient427 = new BitSet(new long[]{0x0000000000001000L});
01332 public static final BitSet FOLLOW_12_in_ruleActionClient444 = new BitSet(new long[]{0x0000000000008000L});
01333 public static final BitSet FOLLOW_15_in_ruleActionClient456 = new BitSet(new long[]{0x0000000000000020L});
01334 public static final BitSet FOLLOW_RULE_STRING_in_ruleActionClient473 = new BitSet(new long[]{0x0000000000010000L});
01335 public static final BitSet FOLLOW_16_in_ruleActionClient490 = new BitSet(new long[]{0x0000000000020000L});
01336 public static final BitSet FOLLOW_17_in_ruleActionClient502 = new BitSet(new long[]{0x0000000000000020L});
01337 public static final BitSet FOLLOW_RULE_STRING_in_ruleActionClient519 = new BitSet(new long[]{0x0000000000002000L});
01338 public static final BitSet FOLLOW_13_in_ruleActionClient536 = new BitSet(new long[]{0x0000000000000002L});
01339 public static final BitSet FOLLOW_ruleServiceClient_in_entryRuleServiceClient572 = new BitSet(new long[]{0x0000000000000000L});
01340 public static final BitSet FOLLOW_EOF_in_entryRuleServiceClient582 = new BitSet(new long[]{0x0000000000000002L});
01341 public static final BitSet FOLLOW_18_in_ruleServiceClient619 = new BitSet(new long[]{0x0000000000000010L});
01342 public static final BitSet FOLLOW_RULE_ID_in_ruleServiceClient636 = new BitSet(new long[]{0x0000000000001000L});
01343 public static final BitSet FOLLOW_12_in_ruleServiceClient653 = new BitSet(new long[]{0x0000000000080000L});
01344 public static final BitSet FOLLOW_19_in_ruleServiceClient665 = new BitSet(new long[]{0x0000000000000020L});
01345 public static final BitSet FOLLOW_RULE_STRING_in_ruleServiceClient682 = new BitSet(new long[]{0x0000000000010000L});
01346 public static final BitSet FOLLOW_16_in_ruleServiceClient699 = new BitSet(new long[]{0x0000000000100000L});
01347 public static final BitSet FOLLOW_20_in_ruleServiceClient711 = new BitSet(new long[]{0x0000000000000020L});
01348 public static final BitSet FOLLOW_RULE_STRING_in_ruleServiceClient728 = new BitSet(new long[]{0x0000000000002000L});
01349 public static final BitSet FOLLOW_13_in_ruleServiceClient745 = new BitSet(new long[]{0x0000000000000002L});
01350 public static final BitSet FOLLOW_ruleActionState_in_entryRuleActionState781 = new BitSet(new long[]{0x0000000000000000L});
01351 public static final BitSet FOLLOW_EOF_in_entryRuleActionState791 = new BitSet(new long[]{0x0000000000000002L});
01352 public static final BitSet FOLLOW_21_in_ruleActionState828 = new BitSet(new long[]{0x0000000000000010L});
01353 public static final BitSet FOLLOW_RULE_ID_in_ruleActionState845 = new BitSet(new long[]{0x0000000000001000L});
01354 public static final BitSet FOLLOW_12_in_ruleActionState862 = new BitSet(new long[]{0x0000000000400000L});
01355 public static final BitSet FOLLOW_22_in_ruleActionState874 = new BitSet(new long[]{0x0000000000000010L});
01356 public static final BitSet FOLLOW_RULE_ID_in_ruleActionState894 = new BitSet(new long[]{0x0000000000010000L});
01357 public static final BitSet FOLLOW_16_in_ruleActionState906 = new BitSet(new long[]{0x0000000007012000L});
01358 public static final BitSet FOLLOW_ruleTransition_in_ruleActionState928 = new BitSet(new long[]{0x0000000007010000L});
01359 public static final BitSet FOLLOW_16_in_ruleActionState941 = new BitSet(new long[]{0x0000000000002000L});
01360 public static final BitSet FOLLOW_13_in_ruleActionState955 = new BitSet(new long[]{0x0000000000000002L});
01361 public static final BitSet FOLLOW_ruleTransition_in_entryRuleTransition993 = new BitSet(new long[]{0x0000000000000000L});
01362 public static final BitSet FOLLOW_EOF_in_entryRuleTransition1003 = new BitSet(new long[]{0x0000000000000002L});
01363 public static final BitSet FOLLOW_ruleOUTCOME_in_ruleTransition1049 = new BitSet(new long[]{0x0000000000800000L});
01364 public static final BitSet FOLLOW_23_in_ruleTransition1061 = new BitSet(new long[]{0x0000000000000010L});
01365 public static final BitSet FOLLOW_RULE_ID_in_ruleTransition1081 = new BitSet(new long[]{0x0000000000000002L});
01366 public static final BitSet FOLLOW_ruleOUTCOME_in_entryRuleOUTCOME1118 = new BitSet(new long[]{0x0000000000000000L});
01367 public static final BitSet FOLLOW_EOF_in_entryRuleOUTCOME1129 = new BitSet(new long[]{0x0000000000000002L});
01368 public static final BitSet FOLLOW_24_in_ruleOUTCOME1167 = new BitSet(new long[]{0x0000000000000002L});
01369 public static final BitSet FOLLOW_25_in_ruleOUTCOME1186 = new BitSet(new long[]{0x0000000000000002L});
01370 public static final BitSet FOLLOW_26_in_ruleOUTCOME1205 = new BitSet(new long[]{0x0000000000000002L});
01371
01372 }