Search in sources :

Example 66 with AntlrDatatypeRuleToken

use of org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken in project xtext-core by eclipse.

the class InternalDatatypeRulesTestLanguageParser method ruleNestedModelId.

// $ANTLR end "entryRuleNestedModelId"
// $ANTLR start "ruleNestedModelId"
// InternalDatatypeRulesTestLanguage.g:287:1: ruleNestedModelId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ModelId_0= ruleModelId kw= '.' this_ModelId_2= ruleModelId ) ;
public final AntlrDatatypeRuleToken ruleNestedModelId() throws RecognitionException {
    AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
    Token kw = null;
    AntlrDatatypeRuleToken this_ModelId_0 = null;
    AntlrDatatypeRuleToken this_ModelId_2 = null;
    enterRule();
    try {
        // InternalDatatypeRulesTestLanguage.g:293:2: ( (this_ModelId_0= ruleModelId kw= '.' this_ModelId_2= ruleModelId ) )
        // InternalDatatypeRulesTestLanguage.g:294:2: (this_ModelId_0= ruleModelId kw= '.' this_ModelId_2= ruleModelId )
        {
            // InternalDatatypeRulesTestLanguage.g:294:2: (this_ModelId_0= ruleModelId kw= '.' this_ModelId_2= ruleModelId )
            // InternalDatatypeRulesTestLanguage.g:295:3: this_ModelId_0= ruleModelId kw= '.' this_ModelId_2= ruleModelId
            {
                newCompositeNode(grammarAccess.getNestedModelIdAccess().getModelIdParserRuleCall_0());
                pushFollow(FollowSets000.FOLLOW_13);
                this_ModelId_0 = ruleModelId();
                state._fsp--;
                current.merge(this_ModelId_0);
                afterParserOrEnumRuleCall();
                kw = (Token) match(input, 16, FollowSets000.FOLLOW_14);
                current.merge(kw);
                newLeafNode(kw, grammarAccess.getNestedModelIdAccess().getFullStopKeyword_1());
                newCompositeNode(grammarAccess.getNestedModelIdAccess().getModelIdParserRuleCall_2());
                pushFollow(FollowSets000.FOLLOW_2);
                this_ModelId_2 = ruleModelId();
                state._fsp--;
                current.merge(this_ModelId_2);
                afterParserOrEnumRuleCall();
            }
        }
        leaveRule();
    } catch (RecognitionException re) {
        recover(input, re);
        appendSkippedTokens();
    } finally {
    }
    return current;
}
Also used : AntlrDatatypeRuleToken(org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken) AntlrDatatypeRuleToken(org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken)

Example 67 with AntlrDatatypeRuleToken

use of org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken in project xtext-core by eclipse.

the class InternalDatatypeRulesTestLanguageParser method ruleModel.

// $ANTLR end "entryRuleModel"
// $ANTLR start "ruleModel"
// InternalDatatypeRulesTestLanguage.g:107:1: ruleModel returns [EObject current=null] : ( ( (lv_id_0_0= ruleNestedModelId ) ) (otherlv_1= ':' ( (lv_value_2_0= ruleFraction ) ) )? (otherlv_3= '#' ( (lv_vector_4_0= ruleVector ) ) )? (otherlv_5= '+' ( (lv_dots_6_0= ruleDots ) ) )? (otherlv_7= '*' ( (lv_double_8_0= ruleDouble ) ) )? otherlv_9= ';' ) ;
public final EObject ruleModel() throws RecognitionException {
    EObject current = null;
    Token otherlv_1 = null;
    Token otherlv_3 = null;
    Token otherlv_5 = null;
    Token otherlv_7 = null;
    Token otherlv_9 = null;
    AntlrDatatypeRuleToken lv_id_0_0 = null;
    AntlrDatatypeRuleToken lv_value_2_0 = null;
    AntlrDatatypeRuleToken lv_vector_4_0 = null;
    AntlrDatatypeRuleToken lv_dots_6_0 = null;
    AntlrDatatypeRuleToken lv_double_8_0 = null;
    enterRule();
    try {
        // InternalDatatypeRulesTestLanguage.g:113:2: ( ( ( (lv_id_0_0= ruleNestedModelId ) ) (otherlv_1= ':' ( (lv_value_2_0= ruleFraction ) ) )? (otherlv_3= '#' ( (lv_vector_4_0= ruleVector ) ) )? (otherlv_5= '+' ( (lv_dots_6_0= ruleDots ) ) )? (otherlv_7= '*' ( (lv_double_8_0= ruleDouble ) ) )? otherlv_9= ';' ) )
        // InternalDatatypeRulesTestLanguage.g:114:2: ( ( (lv_id_0_0= ruleNestedModelId ) ) (otherlv_1= ':' ( (lv_value_2_0= ruleFraction ) ) )? (otherlv_3= '#' ( (lv_vector_4_0= ruleVector ) ) )? (otherlv_5= '+' ( (lv_dots_6_0= ruleDots ) ) )? (otherlv_7= '*' ( (lv_double_8_0= ruleDouble ) ) )? otherlv_9= ';' )
        {
            // InternalDatatypeRulesTestLanguage.g:114:2: ( ( (lv_id_0_0= ruleNestedModelId ) ) (otherlv_1= ':' ( (lv_value_2_0= ruleFraction ) ) )? (otherlv_3= '#' ( (lv_vector_4_0= ruleVector ) ) )? (otherlv_5= '+' ( (lv_dots_6_0= ruleDots ) ) )? (otherlv_7= '*' ( (lv_double_8_0= ruleDouble ) ) )? otherlv_9= ';' )
            // InternalDatatypeRulesTestLanguage.g:115:3: ( (lv_id_0_0= ruleNestedModelId ) ) (otherlv_1= ':' ( (lv_value_2_0= ruleFraction ) ) )? (otherlv_3= '#' ( (lv_vector_4_0= ruleVector ) ) )? (otherlv_5= '+' ( (lv_dots_6_0= ruleDots ) ) )? (otherlv_7= '*' ( (lv_double_8_0= ruleDouble ) ) )? otherlv_9= ';'
            {
                // InternalDatatypeRulesTestLanguage.g:115:3: ( (lv_id_0_0= ruleNestedModelId ) )
                // InternalDatatypeRulesTestLanguage.g:116:4: (lv_id_0_0= ruleNestedModelId )
                {
                    // InternalDatatypeRulesTestLanguage.g:116:4: (lv_id_0_0= ruleNestedModelId )
                    // InternalDatatypeRulesTestLanguage.g:117:5: lv_id_0_0= ruleNestedModelId
                    {
                        newCompositeNode(grammarAccess.getModelAccess().getIdNestedModelIdParserRuleCall_0_0());
                        pushFollow(FollowSets000.FOLLOW_4);
                        lv_id_0_0 = ruleNestedModelId();
                        state._fsp--;
                        if (current == null) {
                            current = createModelElementForParent(grammarAccess.getModelRule());
                        }
                        set(current, "id", lv_id_0_0, "org.eclipse.xtext.parser.datatyperules.DatatypeRulesTestLanguage.NestedModelId");
                        afterParserOrEnumRuleCall();
                    }
                }
                // InternalDatatypeRulesTestLanguage.g:134:3: (otherlv_1= ':' ( (lv_value_2_0= ruleFraction ) ) )?
                int alt2 = 2;
                int LA2_0 = input.LA(1);
                if ((LA2_0 == 11)) {
                    alt2 = 1;
                }
                switch(alt2) {
                    case 1:
                        // InternalDatatypeRulesTestLanguage.g:135:4: otherlv_1= ':' ( (lv_value_2_0= ruleFraction ) )
                        {
                            otherlv_1 = (Token) match(input, 11, FollowSets000.FOLLOW_5);
                            newLeafNode(otherlv_1, grammarAccess.getModelAccess().getColonKeyword_1_0());
                            // InternalDatatypeRulesTestLanguage.g:139:4: ( (lv_value_2_0= ruleFraction ) )
                            // InternalDatatypeRulesTestLanguage.g:140:5: (lv_value_2_0= ruleFraction )
                            {
                                // InternalDatatypeRulesTestLanguage.g:140:5: (lv_value_2_0= ruleFraction )
                                // InternalDatatypeRulesTestLanguage.g:141:6: lv_value_2_0= ruleFraction
                                {
                                    newCompositeNode(grammarAccess.getModelAccess().getValueFractionParserRuleCall_1_1_0());
                                    pushFollow(FollowSets000.FOLLOW_6);
                                    lv_value_2_0 = ruleFraction();
                                    state._fsp--;
                                    if (current == null) {
                                        current = createModelElementForParent(grammarAccess.getModelRule());
                                    }
                                    set(current, "value", lv_value_2_0, "org.eclipse.xtext.parser.datatyperules.DatatypeRulesTestLanguage.Fraction");
                                    afterParserOrEnumRuleCall();
                                }
                            }
                        }
                        break;
                }
                // InternalDatatypeRulesTestLanguage.g:159:3: (otherlv_3= '#' ( (lv_vector_4_0= ruleVector ) ) )?
                int alt3 = 2;
                int LA3_0 = input.LA(1);
                if ((LA3_0 == 12)) {
                    alt3 = 1;
                }
                switch(alt3) {
                    case 1:
                        // InternalDatatypeRulesTestLanguage.g:160:4: otherlv_3= '#' ( (lv_vector_4_0= ruleVector ) )
                        {
                            otherlv_3 = (Token) match(input, 12, FollowSets000.FOLLOW_7);
                            newLeafNode(otherlv_3, grammarAccess.getModelAccess().getNumberSignKeyword_2_0());
                            // InternalDatatypeRulesTestLanguage.g:164:4: ( (lv_vector_4_0= ruleVector ) )
                            // InternalDatatypeRulesTestLanguage.g:165:5: (lv_vector_4_0= ruleVector )
                            {
                                // InternalDatatypeRulesTestLanguage.g:165:5: (lv_vector_4_0= ruleVector )
                                // InternalDatatypeRulesTestLanguage.g:166:6: lv_vector_4_0= ruleVector
                                {
                                    newCompositeNode(grammarAccess.getModelAccess().getVectorVectorParserRuleCall_2_1_0());
                                    pushFollow(FollowSets000.FOLLOW_8);
                                    lv_vector_4_0 = ruleVector();
                                    state._fsp--;
                                    if (current == null) {
                                        current = createModelElementForParent(grammarAccess.getModelRule());
                                    }
                                    set(current, "vector", lv_vector_4_0, "org.eclipse.xtext.parser.datatyperules.DatatypeRulesTestLanguage.Vector");
                                    afterParserOrEnumRuleCall();
                                }
                            }
                        }
                        break;
                }
                // InternalDatatypeRulesTestLanguage.g:184:3: (otherlv_5= '+' ( (lv_dots_6_0= ruleDots ) ) )?
                int alt4 = 2;
                int LA4_0 = input.LA(1);
                if ((LA4_0 == 13)) {
                    alt4 = 1;
                }
                switch(alt4) {
                    case 1:
                        // InternalDatatypeRulesTestLanguage.g:185:4: otherlv_5= '+' ( (lv_dots_6_0= ruleDots ) )
                        {
                            otherlv_5 = (Token) match(input, 13, FollowSets000.FOLLOW_9);
                            newLeafNode(otherlv_5, grammarAccess.getModelAccess().getPlusSignKeyword_3_0());
                            // InternalDatatypeRulesTestLanguage.g:189:4: ( (lv_dots_6_0= ruleDots ) )
                            // InternalDatatypeRulesTestLanguage.g:190:5: (lv_dots_6_0= ruleDots )
                            {
                                // InternalDatatypeRulesTestLanguage.g:190:5: (lv_dots_6_0= ruleDots )
                                // InternalDatatypeRulesTestLanguage.g:191:6: lv_dots_6_0= ruleDots
                                {
                                    newCompositeNode(grammarAccess.getModelAccess().getDotsDotsParserRuleCall_3_1_0());
                                    pushFollow(FollowSets000.FOLLOW_10);
                                    lv_dots_6_0 = ruleDots();
                                    state._fsp--;
                                    if (current == null) {
                                        current = createModelElementForParent(grammarAccess.getModelRule());
                                    }
                                    set(current, "dots", lv_dots_6_0, "org.eclipse.xtext.parser.datatyperules.DatatypeRulesTestLanguage.Dots");
                                    afterParserOrEnumRuleCall();
                                }
                            }
                        }
                        break;
                }
                // InternalDatatypeRulesTestLanguage.g:209:3: (otherlv_7= '*' ( (lv_double_8_0= ruleDouble ) ) )?
                int alt5 = 2;
                int LA5_0 = input.LA(1);
                if ((LA5_0 == 14)) {
                    alt5 = 1;
                }
                switch(alt5) {
                    case 1:
                        // InternalDatatypeRulesTestLanguage.g:210:4: otherlv_7= '*' ( (lv_double_8_0= ruleDouble ) )
                        {
                            otherlv_7 = (Token) match(input, 14, FollowSets000.FOLLOW_11);
                            newLeafNode(otherlv_7, grammarAccess.getModelAccess().getAsteriskKeyword_4_0());
                            // InternalDatatypeRulesTestLanguage.g:214:4: ( (lv_double_8_0= ruleDouble ) )
                            // InternalDatatypeRulesTestLanguage.g:215:5: (lv_double_8_0= ruleDouble )
                            {
                                // InternalDatatypeRulesTestLanguage.g:215:5: (lv_double_8_0= ruleDouble )
                                // InternalDatatypeRulesTestLanguage.g:216:6: lv_double_8_0= ruleDouble
                                {
                                    newCompositeNode(grammarAccess.getModelAccess().getDoubleDoubleParserRuleCall_4_1_0());
                                    pushFollow(FollowSets000.FOLLOW_12);
                                    lv_double_8_0 = ruleDouble();
                                    state._fsp--;
                                    if (current == null) {
                                        current = createModelElementForParent(grammarAccess.getModelRule());
                                    }
                                    set(current, "double", lv_double_8_0, "org.eclipse.xtext.parser.datatyperules.DatatypeRulesTestLanguage.Double");
                                    afterParserOrEnumRuleCall();
                                }
                            }
                        }
                        break;
                }
                otherlv_9 = (Token) match(input, 15, FollowSets000.FOLLOW_2);
                newLeafNode(otherlv_9, grammarAccess.getModelAccess().getSemicolonKeyword_5());
            }
        }
        leaveRule();
    } catch (RecognitionException re) {
        recover(input, re);
        appendSkippedTokens();
    } finally {
    }
    return current;
}
Also used : EObject(org.eclipse.emf.ecore.EObject) AntlrDatatypeRuleToken(org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken) AntlrDatatypeRuleToken(org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken)

Example 68 with AntlrDatatypeRuleToken

use of org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken in project xtext-core by eclipse.

the class InternalDatatypeRulesTestLanguageParser method ruleDots.

// $ANTLR end "entryRuleDots"
// $ANTLR start "ruleDots"
// InternalDatatypeRulesTestLanguage.g:414:1: ruleDots returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '.' kw= '.' ) | kw= '..' ) ;
public final AntlrDatatypeRuleToken ruleDots() throws RecognitionException {
    AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
    Token kw = null;
    enterRule();
    try {
        // InternalDatatypeRulesTestLanguage.g:420:2: ( ( (kw= '.' kw= '.' ) | kw= '..' ) )
        // InternalDatatypeRulesTestLanguage.g:421:2: ( (kw= '.' kw= '.' ) | kw= '..' )
        {
            // InternalDatatypeRulesTestLanguage.g:421:2: ( (kw= '.' kw= '.' ) | kw= '..' )
            int alt7 = 2;
            int LA7_0 = input.LA(1);
            if ((LA7_0 == 16)) {
                alt7 = 1;
            } else if ((LA7_0 == 20)) {
                alt7 = 2;
            } else {
                NoViableAltException nvae = new NoViableAltException("", 7, 0, input);
                throw nvae;
            }
            switch(alt7) {
                case 1:
                    // InternalDatatypeRulesTestLanguage.g:422:3: (kw= '.' kw= '.' )
                    {
                        // InternalDatatypeRulesTestLanguage.g:422:3: (kw= '.' kw= '.' )
                        // InternalDatatypeRulesTestLanguage.g:423:4: kw= '.' kw= '.'
                        {
                            kw = (Token) match(input, 16, FollowSets000.FOLLOW_13);
                            current.merge(kw);
                            newLeafNode(kw, grammarAccess.getDotsAccess().getFullStopKeyword_0_0());
                            kw = (Token) match(input, 16, FollowSets000.FOLLOW_2);
                            current.merge(kw);
                            newLeafNode(kw, grammarAccess.getDotsAccess().getFullStopKeyword_0_1());
                        }
                    }
                    break;
                case 2:
                    // InternalDatatypeRulesTestLanguage.g:435:3: kw= '..'
                    {
                        kw = (Token) match(input, 20, FollowSets000.FOLLOW_2);
                        current.merge(kw);
                        newLeafNode(kw, grammarAccess.getDotsAccess().getFullStopFullStopKeyword_1());
                    }
                    break;
            }
        }
        leaveRule();
    } catch (RecognitionException re) {
        recover(input, re);
        appendSkippedTokens();
    } finally {
    }
    return current;
}
Also used : AntlrDatatypeRuleToken(org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken) AntlrDatatypeRuleToken(org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken)

Example 69 with AntlrDatatypeRuleToken

use of org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken in project xtext-core by eclipse.

the class InternalBug292245TestLanguageParser method ruleGraphical.

// $ANTLR end "entryRuleGraphical"
// $ANTLR start "ruleGraphical"
// InternalBug292245TestLanguage.g:356:1: ruleGraphical returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_CHAR_0= RULE_CHAR | this_WS_1= RULE_WS ) ;
public final AntlrDatatypeRuleToken ruleGraphical() throws RecognitionException {
    AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
    Token this_CHAR_0 = null;
    Token this_WS_1 = null;
    enterRule();
    try {
        // InternalBug292245TestLanguage.g:362:2: ( (this_CHAR_0= RULE_CHAR | this_WS_1= RULE_WS ) )
        // InternalBug292245TestLanguage.g:363:2: (this_CHAR_0= RULE_CHAR | this_WS_1= RULE_WS )
        {
            // InternalBug292245TestLanguage.g:363:2: (this_CHAR_0= RULE_CHAR | this_WS_1= RULE_WS )
            int alt6 = 2;
            int LA6_0 = input.LA(1);
            if ((LA6_0 == RULE_CHAR)) {
                alt6 = 1;
            } else if ((LA6_0 == RULE_WS)) {
                alt6 = 2;
            } else {
                NoViableAltException nvae = new NoViableAltException("", 6, 0, input);
                throw nvae;
            }
            switch(alt6) {
                case 1:
                    // InternalBug292245TestLanguage.g:364:3: this_CHAR_0= RULE_CHAR
                    {
                        this_CHAR_0 = (Token) match(input, RULE_CHAR, FollowSets000.FOLLOW_2);
                        current.merge(this_CHAR_0);
                        newLeafNode(this_CHAR_0, grammarAccess.getGraphicalAccess().getCHARTerminalRuleCall_0());
                    }
                    break;
                case 2:
                    // InternalBug292245TestLanguage.g:372:3: this_WS_1= RULE_WS
                    {
                        this_WS_1 = (Token) match(input, RULE_WS, FollowSets000.FOLLOW_2);
                        current.merge(this_WS_1);
                        newLeafNode(this_WS_1, grammarAccess.getGraphicalAccess().getWSTerminalRuleCall_1());
                    }
                    break;
            }
        }
        leaveRule();
    } catch (RecognitionException re) {
        recover(input, re);
        appendSkippedTokens();
    } finally {
    }
    return current;
}
Also used : AntlrDatatypeRuleToken(org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken) AntlrDatatypeRuleToken(org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken)

Example 70 with AntlrDatatypeRuleToken

use of org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken in project xtext-core by eclipse.

the class InternalBug292245TestLanguageParser method ruleModel.

// $ANTLR end "entryRuleModel"
// $ANTLR start "ruleModel"
// InternalBug292245TestLanguage.g:76:1: ruleModel returns [EObject current=null] : ( (otherlv_0= 'FIX' ( (lv_fix_1_0= ruleFix ) )+ ) | (otherlv_2= 'ERROR' ( (lv_error_3_0= ruleError ) )+ ) | (otherlv_4= 'TICK' ( (lv_tick_5_0= ruleApostrophe ) )+ ) )* ;
public final EObject ruleModel() throws RecognitionException {
    EObject current = null;
    Token otherlv_0 = null;
    Token otherlv_2 = null;
    Token otherlv_4 = null;
    AntlrDatatypeRuleToken lv_fix_1_0 = null;
    AntlrDatatypeRuleToken lv_error_3_0 = null;
    AntlrDatatypeRuleToken lv_tick_5_0 = null;
    enterRule();
    HiddenTokens myHiddenTokenState = ((XtextTokenStream) input).setHiddenTokens("RULE_WS");
    try {
        // InternalBug292245TestLanguage.g:83:2: ( ( (otherlv_0= 'FIX' ( (lv_fix_1_0= ruleFix ) )+ ) | (otherlv_2= 'ERROR' ( (lv_error_3_0= ruleError ) )+ ) | (otherlv_4= 'TICK' ( (lv_tick_5_0= ruleApostrophe ) )+ ) )* )
        // InternalBug292245TestLanguage.g:84:2: ( (otherlv_0= 'FIX' ( (lv_fix_1_0= ruleFix ) )+ ) | (otherlv_2= 'ERROR' ( (lv_error_3_0= ruleError ) )+ ) | (otherlv_4= 'TICK' ( (lv_tick_5_0= ruleApostrophe ) )+ ) )*
        {
            // InternalBug292245TestLanguage.g:84:2: ( (otherlv_0= 'FIX' ( (lv_fix_1_0= ruleFix ) )+ ) | (otherlv_2= 'ERROR' ( (lv_error_3_0= ruleError ) )+ ) | (otherlv_4= 'TICK' ( (lv_tick_5_0= ruleApostrophe ) )+ ) )*
            loop4: do {
                int alt4 = 4;
                switch(input.LA(1)) {
                    case 7:
                        {
                            alt4 = 1;
                        }
                        break;
                    case 8:
                        {
                            alt4 = 2;
                        }
                        break;
                    case 9:
                        {
                            alt4 = 3;
                        }
                        break;
                }
                switch(alt4) {
                    case 1:
                        // InternalBug292245TestLanguage.g:85:3: (otherlv_0= 'FIX' ( (lv_fix_1_0= ruleFix ) )+ )
                        {
                            // InternalBug292245TestLanguage.g:85:3: (otherlv_0= 'FIX' ( (lv_fix_1_0= ruleFix ) )+ )
                            // InternalBug292245TestLanguage.g:86:4: otherlv_0= 'FIX' ( (lv_fix_1_0= ruleFix ) )+
                            {
                                otherlv_0 = (Token) match(input, 7, FollowSets000.FOLLOW_3);
                                newLeafNode(otherlv_0, grammarAccess.getModelAccess().getFIXKeyword_0_0());
                                // InternalBug292245TestLanguage.g:90:4: ( (lv_fix_1_0= ruleFix ) )+
                                int cnt1 = 0;
                                loop1: do {
                                    int alt1 = 2;
                                    int LA1_0 = input.LA(1);
                                    if ((LA1_0 == RULE_APOSTROPHE_CHAR)) {
                                        alt1 = 1;
                                    }
                                    switch(alt1) {
                                        case 1:
                                            // InternalBug292245TestLanguage.g:91:5: (lv_fix_1_0= ruleFix )
                                            {
                                                // InternalBug292245TestLanguage.g:91:5: (lv_fix_1_0= ruleFix )
                                                // InternalBug292245TestLanguage.g:92:6: lv_fix_1_0= ruleFix
                                                {
                                                    newCompositeNode(grammarAccess.getModelAccess().getFixFixParserRuleCall_0_1_0());
                                                    pushFollow(FollowSets000.FOLLOW_4);
                                                    lv_fix_1_0 = ruleFix();
                                                    state._fsp--;
                                                    if (current == null) {
                                                        current = createModelElementForParent(grammarAccess.getModelRule());
                                                    }
                                                    add(current, "fix", lv_fix_1_0, "org.eclipse.xtext.parser.terminalrules.Bug292245TestLanguage.Fix");
                                                    afterParserOrEnumRuleCall();
                                                }
                                            }
                                            break;
                                        default:
                                            if (cnt1 >= 1)
                                                break loop1;
                                            EarlyExitException eee = new EarlyExitException(1, input);
                                            throw eee;
                                    }
                                    cnt1++;
                                } while (true);
                            }
                        }
                        break;
                    case 2:
                        // InternalBug292245TestLanguage.g:111:3: (otherlv_2= 'ERROR' ( (lv_error_3_0= ruleError ) )+ )
                        {
                            // InternalBug292245TestLanguage.g:111:3: (otherlv_2= 'ERROR' ( (lv_error_3_0= ruleError ) )+ )
                            // InternalBug292245TestLanguage.g:112:4: otherlv_2= 'ERROR' ( (lv_error_3_0= ruleError ) )+
                            {
                                otherlv_2 = (Token) match(input, 8, FollowSets000.FOLLOW_3);
                                newLeafNode(otherlv_2, grammarAccess.getModelAccess().getERRORKeyword_1_0());
                                // InternalBug292245TestLanguage.g:116:4: ( (lv_error_3_0= ruleError ) )+
                                int cnt2 = 0;
                                loop2: do {
                                    int alt2 = 2;
                                    int LA2_0 = input.LA(1);
                                    if ((LA2_0 == RULE_APOSTROPHE_CHAR)) {
                                        alt2 = 1;
                                    }
                                    switch(alt2) {
                                        case 1:
                                            // InternalBug292245TestLanguage.g:117:5: (lv_error_3_0= ruleError )
                                            {
                                                // InternalBug292245TestLanguage.g:117:5: (lv_error_3_0= ruleError )
                                                // InternalBug292245TestLanguage.g:118:6: lv_error_3_0= ruleError
                                                {
                                                    newCompositeNode(grammarAccess.getModelAccess().getErrorErrorParserRuleCall_1_1_0());
                                                    pushFollow(FollowSets000.FOLLOW_4);
                                                    lv_error_3_0 = ruleError();
                                                    state._fsp--;
                                                    if (current == null) {
                                                        current = createModelElementForParent(grammarAccess.getModelRule());
                                                    }
                                                    add(current, "error", lv_error_3_0, "org.eclipse.xtext.parser.terminalrules.Bug292245TestLanguage.Error");
                                                    afterParserOrEnumRuleCall();
                                                }
                                            }
                                            break;
                                        default:
                                            if (cnt2 >= 1)
                                                break loop2;
                                            EarlyExitException eee = new EarlyExitException(2, input);
                                            throw eee;
                                    }
                                    cnt2++;
                                } while (true);
                            }
                        }
                        break;
                    case 3:
                        // InternalBug292245TestLanguage.g:137:3: (otherlv_4= 'TICK' ( (lv_tick_5_0= ruleApostrophe ) )+ )
                        {
                            // InternalBug292245TestLanguage.g:137:3: (otherlv_4= 'TICK' ( (lv_tick_5_0= ruleApostrophe ) )+ )
                            // InternalBug292245TestLanguage.g:138:4: otherlv_4= 'TICK' ( (lv_tick_5_0= ruleApostrophe ) )+
                            {
                                otherlv_4 = (Token) match(input, 9, FollowSets000.FOLLOW_3);
                                newLeafNode(otherlv_4, grammarAccess.getModelAccess().getTICKKeyword_2_0());
                                // InternalBug292245TestLanguage.g:142:4: ( (lv_tick_5_0= ruleApostrophe ) )+
                                int cnt3 = 0;
                                loop3: do {
                                    int alt3 = 2;
                                    int LA3_0 = input.LA(1);
                                    if ((LA3_0 == RULE_APOSTROPHE_CHAR)) {
                                        alt3 = 1;
                                    }
                                    switch(alt3) {
                                        case 1:
                                            // InternalBug292245TestLanguage.g:143:5: (lv_tick_5_0= ruleApostrophe )
                                            {
                                                // InternalBug292245TestLanguage.g:143:5: (lv_tick_5_0= ruleApostrophe )
                                                // InternalBug292245TestLanguage.g:144:6: lv_tick_5_0= ruleApostrophe
                                                {
                                                    newCompositeNode(grammarAccess.getModelAccess().getTickApostropheParserRuleCall_2_1_0());
                                                    pushFollow(FollowSets000.FOLLOW_4);
                                                    lv_tick_5_0 = ruleApostrophe();
                                                    state._fsp--;
                                                    if (current == null) {
                                                        current = createModelElementForParent(grammarAccess.getModelRule());
                                                    }
                                                    add(current, "tick", lv_tick_5_0, "org.eclipse.xtext.parser.terminalrules.Bug292245TestLanguage.Apostrophe");
                                                    afterParserOrEnumRuleCall();
                                                }
                                            }
                                            break;
                                        default:
                                            if (cnt3 >= 1)
                                                break loop3;
                                            EarlyExitException eee = new EarlyExitException(3, input);
                                            throw eee;
                                    }
                                    cnt3++;
                                } while (true);
                            }
                        }
                        break;
                    default:
                        break loop4;
                }
            } while (true);
        }
        leaveRule();
    } catch (RecognitionException re) {
        recover(input, re);
        appendSkippedTokens();
    } finally {
        myHiddenTokenState.restore();
    }
    return current;
}
Also used : XtextTokenStream(org.eclipse.xtext.parser.antlr.XtextTokenStream) EObject(org.eclipse.emf.ecore.EObject) AntlrDatatypeRuleToken(org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken) AntlrDatatypeRuleToken(org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken) HiddenTokens(org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens)

Aggregations

AntlrDatatypeRuleToken (org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken)350 EObject (org.eclipse.emf.ecore.EObject)105 XtextTokenStream (org.eclipse.xtext.parser.antlr.XtextTokenStream)27 HiddenTokens (org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens)27 Test (org.junit.Test)10 Enumerator (org.eclipse.emf.common.util.Enumerator)4 CommonToken (org.antlr.runtime.CommonToken)3 UnorderedGroupState (org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper.UnorderedGroupState)3 DatatypeRuleToken (org.eclipse.xtext.parser.impl.DatatypeRuleToken)2