Search in sources :

Example 56 with AntlrDatatypeRuleToken

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

the class InternalTwoParametersTestLanguageParser method norm5_IdOrKeyword2.

// $ANTLR end "norm2_IdOrKeyword2"
// $ANTLR start "norm5_IdOrKeyword2"
// InternalTwoParametersTestLanguage.g:970:1: norm5_IdOrKeyword2 returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'keyword' | this_ID_1= RULE_ID ) ;
public final AntlrDatatypeRuleToken norm5_IdOrKeyword2() throws RecognitionException {
    AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
    Token kw = null;
    Token this_ID_1 = null;
    enterRule();
    try {
        // InternalTwoParametersTestLanguage.g:976:2: ( (kw= 'keyword' | this_ID_1= RULE_ID ) )
        // InternalTwoParametersTestLanguage.g:977:2: (kw= 'keyword' | this_ID_1= RULE_ID )
        {
            // InternalTwoParametersTestLanguage.g:977:2: (kw= 'keyword' | this_ID_1= RULE_ID )
            int alt12 = 2;
            int LA12_0 = input.LA(1);
            if ((LA12_0 == 20)) {
                alt12 = 1;
            } else if ((LA12_0 == RULE_ID)) {
                alt12 = 2;
            } else {
                if (state.backtracking > 0) {
                    state.failed = true;
                    return current;
                }
                NoViableAltException nvae = new NoViableAltException("", 12, 0, input);
                throw nvae;
            }
            switch(alt12) {
                case 1:
                    // InternalTwoParametersTestLanguage.g:978:3: kw= 'keyword'
                    {
                        kw = (Token) match(input, 20, FollowSets000.FOLLOW_2);
                        if (state.failed)
                            return current;
                        if (state.backtracking == 0) {
                            current.merge(kw);
                            newLeafNode(kw, grammarAccess.getIdOrKeyword2Access().getKeywordKeyword_0_0());
                        }
                    }
                    break;
                case 2:
                    // InternalTwoParametersTestLanguage.g:984:3: this_ID_1= RULE_ID
                    {
                        this_ID_1 = (Token) match(input, RULE_ID, FollowSets000.FOLLOW_2);
                        if (state.failed)
                            return current;
                        if (state.backtracking == 0) {
                            current.merge(this_ID_1);
                        }
                        if (state.backtracking == 0) {
                            newLeafNode(this_ID_1, grammarAccess.getIdOrKeyword2Access().getIDTerminalRuleCall_1());
                        }
                    }
                    break;
            }
        }
        if (state.backtracking == 0) {
            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 57 with AntlrDatatypeRuleToken

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

the class InternalAssignmentsTestLanguageParser method ruleSingleDatatype.

// $ANTLR end "entryRuleSingleDatatype"
// $ANTLR start "ruleSingleDatatype"
// InternalAssignmentsTestLanguage.g:473:1: ruleSingleDatatype returns [EObject current=null] : ( (otherlv_0= 'datatypeid' ( (lv_value_1_0= ruleIdDatatype ) ) ) | (otherlv_2= 'datatypealternative' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) ) | (otherlv_4= 'datatypestring' ( (lv_value_5_0= ruleStringDatatype ) ) ) ) ;
public final EObject ruleSingleDatatype() throws RecognitionException {
    EObject current = null;
    Token otherlv_0 = null;
    Token otherlv_2 = null;
    Token otherlv_4 = null;
    AntlrDatatypeRuleToken lv_value_1_0 = null;
    AntlrDatatypeRuleToken lv_value_3_1 = null;
    AntlrDatatypeRuleToken lv_value_3_2 = null;
    AntlrDatatypeRuleToken lv_value_5_0 = null;
    enterRule();
    try {
        // InternalAssignmentsTestLanguage.g:479:2: ( ( (otherlv_0= 'datatypeid' ( (lv_value_1_0= ruleIdDatatype ) ) ) | (otherlv_2= 'datatypealternative' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) ) | (otherlv_4= 'datatypestring' ( (lv_value_5_0= ruleStringDatatype ) ) ) ) )
        // InternalAssignmentsTestLanguage.g:480:2: ( (otherlv_0= 'datatypeid' ( (lv_value_1_0= ruleIdDatatype ) ) ) | (otherlv_2= 'datatypealternative' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) ) | (otherlv_4= 'datatypestring' ( (lv_value_5_0= ruleStringDatatype ) ) ) )
        {
            // InternalAssignmentsTestLanguage.g:480:2: ( (otherlv_0= 'datatypeid' ( (lv_value_1_0= ruleIdDatatype ) ) ) | (otherlv_2= 'datatypealternative' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) ) | (otherlv_4= 'datatypestring' ( (lv_value_5_0= ruleStringDatatype ) ) ) )
            int alt9 = 3;
            switch(input.LA(1)) {
                case 19:
                    {
                        alt9 = 1;
                    }
                    break;
                case 20:
                    {
                        alt9 = 2;
                    }
                    break;
                case 21:
                    {
                        alt9 = 3;
                    }
                    break;
                default:
                    NoViableAltException nvae = new NoViableAltException("", 9, 0, input);
                    throw nvae;
            }
            switch(alt9) {
                case 1:
                    // InternalAssignmentsTestLanguage.g:481:3: (otherlv_0= 'datatypeid' ( (lv_value_1_0= ruleIdDatatype ) ) )
                    {
                        // InternalAssignmentsTestLanguage.g:481:3: (otherlv_0= 'datatypeid' ( (lv_value_1_0= ruleIdDatatype ) ) )
                        // InternalAssignmentsTestLanguage.g:482:4: otherlv_0= 'datatypeid' ( (lv_value_1_0= ruleIdDatatype ) )
                        {
                            otherlv_0 = (Token) match(input, 19, FollowSets000.FOLLOW_4);
                            newLeafNode(otherlv_0, grammarAccess.getSingleDatatypeAccess().getDatatypeidKeyword_0_0());
                            // InternalAssignmentsTestLanguage.g:486:4: ( (lv_value_1_0= ruleIdDatatype ) )
                            // InternalAssignmentsTestLanguage.g:487:5: (lv_value_1_0= ruleIdDatatype )
                            {
                                // InternalAssignmentsTestLanguage.g:487:5: (lv_value_1_0= ruleIdDatatype )
                                // InternalAssignmentsTestLanguage.g:488:6: lv_value_1_0= ruleIdDatatype
                                {
                                    newCompositeNode(grammarAccess.getSingleDatatypeAccess().getValueIdDatatypeParserRuleCall_0_1_0());
                                    pushFollow(FollowSets000.FOLLOW_2);
                                    lv_value_1_0 = ruleIdDatatype();
                                    state._fsp--;
                                    if (current == null) {
                                        current = createModelElementForParent(grammarAccess.getSingleDatatypeRule());
                                    }
                                    set(current, "value", lv_value_1_0, "org.eclipse.xtext.parser.assignments.AssignmentsTestLanguage.IdDatatype");
                                    afterParserOrEnumRuleCall();
                                }
                            }
                        }
                    }
                    break;
                case 2:
                    // InternalAssignmentsTestLanguage.g:507:3: (otherlv_2= 'datatypealternative' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) )
                    {
                        // InternalAssignmentsTestLanguage.g:507:3: (otherlv_2= 'datatypealternative' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) )
                        // InternalAssignmentsTestLanguage.g:508:4: otherlv_2= 'datatypealternative' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) )
                        {
                            otherlv_2 = (Token) match(input, 20, FollowSets000.FOLLOW_5);
                            newLeafNode(otherlv_2, grammarAccess.getSingleDatatypeAccess().getDatatypealternativeKeyword_1_0());
                            // InternalAssignmentsTestLanguage.g:512:4: ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) )
                            // InternalAssignmentsTestLanguage.g:513:5: ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) )
                            {
                                // InternalAssignmentsTestLanguage.g:513:5: ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) )
                                // InternalAssignmentsTestLanguage.g:514:6: (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype )
                                {
                                    // InternalAssignmentsTestLanguage.g:514:6: (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype )
                                    int alt8 = 2;
                                    int LA8_0 = input.LA(1);
                                    if ((LA8_0 == RULE_ID)) {
                                        alt8 = 1;
                                    } else if ((LA8_0 == RULE_STRING)) {
                                        alt8 = 2;
                                    } else {
                                        NoViableAltException nvae = new NoViableAltException("", 8, 0, input);
                                        throw nvae;
                                    }
                                    switch(alt8) {
                                        case 1:
                                            // InternalAssignmentsTestLanguage.g:515:7: lv_value_3_1= ruleIdDatatype
                                            {
                                                newCompositeNode(grammarAccess.getSingleDatatypeAccess().getValueIdDatatypeParserRuleCall_1_1_0_0());
                                                pushFollow(FollowSets000.FOLLOW_2);
                                                lv_value_3_1 = ruleIdDatatype();
                                                state._fsp--;
                                                if (current == null) {
                                                    current = createModelElementForParent(grammarAccess.getSingleDatatypeRule());
                                                }
                                                set(current, "value", lv_value_3_1, "org.eclipse.xtext.parser.assignments.AssignmentsTestLanguage.IdDatatype");
                                                afterParserOrEnumRuleCall();
                                            }
                                            break;
                                        case 2:
                                            // InternalAssignmentsTestLanguage.g:531:7: lv_value_3_2= ruleStringDatatype
                                            {
                                                newCompositeNode(grammarAccess.getSingleDatatypeAccess().getValueStringDatatypeParserRuleCall_1_1_0_1());
                                                pushFollow(FollowSets000.FOLLOW_2);
                                                lv_value_3_2 = ruleStringDatatype();
                                                state._fsp--;
                                                if (current == null) {
                                                    current = createModelElementForParent(grammarAccess.getSingleDatatypeRule());
                                                }
                                                set(current, "value", lv_value_3_2, "org.eclipse.xtext.parser.assignments.AssignmentsTestLanguage.StringDatatype");
                                                afterParserOrEnumRuleCall();
                                            }
                                            break;
                                    }
                                }
                            }
                        }
                    }
                    break;
                case 3:
                    // InternalAssignmentsTestLanguage.g:551:3: (otherlv_4= 'datatypestring' ( (lv_value_5_0= ruleStringDatatype ) ) )
                    {
                        // InternalAssignmentsTestLanguage.g:551:3: (otherlv_4= 'datatypestring' ( (lv_value_5_0= ruleStringDatatype ) ) )
                        // InternalAssignmentsTestLanguage.g:552:4: otherlv_4= 'datatypestring' ( (lv_value_5_0= ruleStringDatatype ) )
                        {
                            otherlv_4 = (Token) match(input, 21, FollowSets000.FOLLOW_5);
                            newLeafNode(otherlv_4, grammarAccess.getSingleDatatypeAccess().getDatatypestringKeyword_2_0());
                            // InternalAssignmentsTestLanguage.g:556:4: ( (lv_value_5_0= ruleStringDatatype ) )
                            // InternalAssignmentsTestLanguage.g:557:5: (lv_value_5_0= ruleStringDatatype )
                            {
                                // InternalAssignmentsTestLanguage.g:557:5: (lv_value_5_0= ruleStringDatatype )
                                // InternalAssignmentsTestLanguage.g:558:6: lv_value_5_0= ruleStringDatatype
                                {
                                    newCompositeNode(grammarAccess.getSingleDatatypeAccess().getValueStringDatatypeParserRuleCall_2_1_0());
                                    pushFollow(FollowSets000.FOLLOW_2);
                                    lv_value_5_0 = ruleStringDatatype();
                                    state._fsp--;
                                    if (current == null) {
                                        current = createModelElementForParent(grammarAccess.getSingleDatatypeRule());
                                    }
                                    set(current, "value", lv_value_5_0, "org.eclipse.xtext.parser.assignments.AssignmentsTestLanguage.StringDatatype");
                                    afterParserOrEnumRuleCall();
                                }
                            }
                        }
                    }
                    break;
            }
        }
        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 58 with AntlrDatatypeRuleToken

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

the class InternalAssignmentsTestLanguageParser method ruleStringDatatype.

// $ANTLR end "entryRuleStringDatatype"
// $ANTLR start "ruleStringDatatype"
// InternalAssignmentsTestLanguage.g:725:1: ruleStringDatatype returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_STRING_0= RULE_STRING ;
public final AntlrDatatypeRuleToken ruleStringDatatype() throws RecognitionException {
    AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
    Token this_STRING_0 = null;
    enterRule();
    try {
        // InternalAssignmentsTestLanguage.g:731:2: (this_STRING_0= RULE_STRING )
        // InternalAssignmentsTestLanguage.g:732:2: this_STRING_0= RULE_STRING
        {
            this_STRING_0 = (Token) match(input, RULE_STRING, FollowSets000.FOLLOW_2);
            current.merge(this_STRING_0);
            newLeafNode(this_STRING_0, grammarAccess.getStringDatatypeAccess().getSTRINGTerminalRuleCall());
        }
        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 59 with AntlrDatatypeRuleToken

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

the class InternalAssignmentsTestLanguageParser method entryRuleIdDatatype.

// $ANTLR end "ruleMultiDatatype"
// $ANTLR start "entryRuleIdDatatype"
// InternalAssignmentsTestLanguage.g:694:1: entryRuleIdDatatype returns [String current=null] : iv_ruleIdDatatype= ruleIdDatatype EOF ;
public final String entryRuleIdDatatype() throws RecognitionException {
    String current = null;
    AntlrDatatypeRuleToken iv_ruleIdDatatype = null;
    try {
        // InternalAssignmentsTestLanguage.g:694:50: (iv_ruleIdDatatype= ruleIdDatatype EOF )
        // InternalAssignmentsTestLanguage.g:695:2: iv_ruleIdDatatype= ruleIdDatatype EOF
        {
            newCompositeNode(grammarAccess.getIdDatatypeRule());
            pushFollow(FollowSets000.FOLLOW_1);
            iv_ruleIdDatatype = ruleIdDatatype();
            state._fsp--;
            current = iv_ruleIdDatatype.getText();
            match(input, EOF, FollowSets000.FOLLOW_2);
        }
    } catch (RecognitionException re) {
        recover(input, re);
        appendSkippedTokens();
    } finally {
    }
    return current;
}
Also used : AntlrDatatypeRuleToken(org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken)

Example 60 with AntlrDatatypeRuleToken

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

the class InternalAssignmentsTestLanguageParser method ruleMultiDatatype.

// $ANTLR end "entryRuleMultiDatatype"
// $ANTLR start "ruleMultiDatatype"
// InternalAssignmentsTestLanguage.g:587:1: ruleMultiDatatype returns [EObject current=null] : ( (otherlv_0= 'datatypeids' ( (lv_value_1_0= ruleIdDatatype ) ) ) | (otherlv_2= 'datatypealternatives' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) ) | (otherlv_4= 'datatypestrings' ( (lv_value_5_0= ruleStringDatatype ) ) ) ) ;
public final EObject ruleMultiDatatype() throws RecognitionException {
    EObject current = null;
    Token otherlv_0 = null;
    Token otherlv_2 = null;
    Token otherlv_4 = null;
    AntlrDatatypeRuleToken lv_value_1_0 = null;
    AntlrDatatypeRuleToken lv_value_3_1 = null;
    AntlrDatatypeRuleToken lv_value_3_2 = null;
    AntlrDatatypeRuleToken lv_value_5_0 = null;
    enterRule();
    try {
        // InternalAssignmentsTestLanguage.g:593:2: ( ( (otherlv_0= 'datatypeids' ( (lv_value_1_0= ruleIdDatatype ) ) ) | (otherlv_2= 'datatypealternatives' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) ) | (otherlv_4= 'datatypestrings' ( (lv_value_5_0= ruleStringDatatype ) ) ) ) )
        // InternalAssignmentsTestLanguage.g:594:2: ( (otherlv_0= 'datatypeids' ( (lv_value_1_0= ruleIdDatatype ) ) ) | (otherlv_2= 'datatypealternatives' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) ) | (otherlv_4= 'datatypestrings' ( (lv_value_5_0= ruleStringDatatype ) ) ) )
        {
            // InternalAssignmentsTestLanguage.g:594:2: ( (otherlv_0= 'datatypeids' ( (lv_value_1_0= ruleIdDatatype ) ) ) | (otherlv_2= 'datatypealternatives' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) ) | (otherlv_4= 'datatypestrings' ( (lv_value_5_0= ruleStringDatatype ) ) ) )
            int alt11 = 3;
            switch(input.LA(1)) {
                case 22:
                    {
                        alt11 = 1;
                    }
                    break;
                case 23:
                    {
                        alt11 = 2;
                    }
                    break;
                case 24:
                    {
                        alt11 = 3;
                    }
                    break;
                default:
                    NoViableAltException nvae = new NoViableAltException("", 11, 0, input);
                    throw nvae;
            }
            switch(alt11) {
                case 1:
                    // InternalAssignmentsTestLanguage.g:595:3: (otherlv_0= 'datatypeids' ( (lv_value_1_0= ruleIdDatatype ) ) )
                    {
                        // InternalAssignmentsTestLanguage.g:595:3: (otherlv_0= 'datatypeids' ( (lv_value_1_0= ruleIdDatatype ) ) )
                        // InternalAssignmentsTestLanguage.g:596:4: otherlv_0= 'datatypeids' ( (lv_value_1_0= ruleIdDatatype ) )
                        {
                            otherlv_0 = (Token) match(input, 22, FollowSets000.FOLLOW_4);
                            newLeafNode(otherlv_0, grammarAccess.getMultiDatatypeAccess().getDatatypeidsKeyword_0_0());
                            // InternalAssignmentsTestLanguage.g:600:4: ( (lv_value_1_0= ruleIdDatatype ) )
                            // InternalAssignmentsTestLanguage.g:601:5: (lv_value_1_0= ruleIdDatatype )
                            {
                                // InternalAssignmentsTestLanguage.g:601:5: (lv_value_1_0= ruleIdDatatype )
                                // InternalAssignmentsTestLanguage.g:602:6: lv_value_1_0= ruleIdDatatype
                                {
                                    newCompositeNode(grammarAccess.getMultiDatatypeAccess().getValueIdDatatypeParserRuleCall_0_1_0());
                                    pushFollow(FollowSets000.FOLLOW_2);
                                    lv_value_1_0 = ruleIdDatatype();
                                    state._fsp--;
                                    if (current == null) {
                                        current = createModelElementForParent(grammarAccess.getMultiDatatypeRule());
                                    }
                                    add(current, "value", lv_value_1_0, "org.eclipse.xtext.parser.assignments.AssignmentsTestLanguage.IdDatatype");
                                    afterParserOrEnumRuleCall();
                                }
                            }
                        }
                    }
                    break;
                case 2:
                    // InternalAssignmentsTestLanguage.g:621:3: (otherlv_2= 'datatypealternatives' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) )
                    {
                        // InternalAssignmentsTestLanguage.g:621:3: (otherlv_2= 'datatypealternatives' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) ) )
                        // InternalAssignmentsTestLanguage.g:622:4: otherlv_2= 'datatypealternatives' ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) )
                        {
                            otherlv_2 = (Token) match(input, 23, FollowSets000.FOLLOW_5);
                            newLeafNode(otherlv_2, grammarAccess.getMultiDatatypeAccess().getDatatypealternativesKeyword_1_0());
                            // InternalAssignmentsTestLanguage.g:626:4: ( ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) ) )
                            // InternalAssignmentsTestLanguage.g:627:5: ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) )
                            {
                                // InternalAssignmentsTestLanguage.g:627:5: ( (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype ) )
                                // InternalAssignmentsTestLanguage.g:628:6: (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype )
                                {
                                    // InternalAssignmentsTestLanguage.g:628:6: (lv_value_3_1= ruleIdDatatype | lv_value_3_2= ruleStringDatatype )
                                    int alt10 = 2;
                                    int LA10_0 = input.LA(1);
                                    if ((LA10_0 == RULE_ID)) {
                                        alt10 = 1;
                                    } else if ((LA10_0 == RULE_STRING)) {
                                        alt10 = 2;
                                    } else {
                                        NoViableAltException nvae = new NoViableAltException("", 10, 0, input);
                                        throw nvae;
                                    }
                                    switch(alt10) {
                                        case 1:
                                            // InternalAssignmentsTestLanguage.g:629:7: lv_value_3_1= ruleIdDatatype
                                            {
                                                newCompositeNode(grammarAccess.getMultiDatatypeAccess().getValueIdDatatypeParserRuleCall_1_1_0_0());
                                                pushFollow(FollowSets000.FOLLOW_2);
                                                lv_value_3_1 = ruleIdDatatype();
                                                state._fsp--;
                                                if (current == null) {
                                                    current = createModelElementForParent(grammarAccess.getMultiDatatypeRule());
                                                }
                                                add(current, "value", lv_value_3_1, "org.eclipse.xtext.parser.assignments.AssignmentsTestLanguage.IdDatatype");
                                                afterParserOrEnumRuleCall();
                                            }
                                            break;
                                        case 2:
                                            // InternalAssignmentsTestLanguage.g:645:7: lv_value_3_2= ruleStringDatatype
                                            {
                                                newCompositeNode(grammarAccess.getMultiDatatypeAccess().getValueStringDatatypeParserRuleCall_1_1_0_1());
                                                pushFollow(FollowSets000.FOLLOW_2);
                                                lv_value_3_2 = ruleStringDatatype();
                                                state._fsp--;
                                                if (current == null) {
                                                    current = createModelElementForParent(grammarAccess.getMultiDatatypeRule());
                                                }
                                                add(current, "value", lv_value_3_2, "org.eclipse.xtext.parser.assignments.AssignmentsTestLanguage.StringDatatype");
                                                afterParserOrEnumRuleCall();
                                            }
                                            break;
                                    }
                                }
                            }
                        }
                    }
                    break;
                case 3:
                    // InternalAssignmentsTestLanguage.g:665:3: (otherlv_4= 'datatypestrings' ( (lv_value_5_0= ruleStringDatatype ) ) )
                    {
                        // InternalAssignmentsTestLanguage.g:665:3: (otherlv_4= 'datatypestrings' ( (lv_value_5_0= ruleStringDatatype ) ) )
                        // InternalAssignmentsTestLanguage.g:666:4: otherlv_4= 'datatypestrings' ( (lv_value_5_0= ruleStringDatatype ) )
                        {
                            otherlv_4 = (Token) match(input, 24, FollowSets000.FOLLOW_5);
                            newLeafNode(otherlv_4, grammarAccess.getMultiDatatypeAccess().getDatatypestringsKeyword_2_0());
                            // InternalAssignmentsTestLanguage.g:670:4: ( (lv_value_5_0= ruleStringDatatype ) )
                            // InternalAssignmentsTestLanguage.g:671:5: (lv_value_5_0= ruleStringDatatype )
                            {
                                // InternalAssignmentsTestLanguage.g:671:5: (lv_value_5_0= ruleStringDatatype )
                                // InternalAssignmentsTestLanguage.g:672:6: lv_value_5_0= ruleStringDatatype
                                {
                                    newCompositeNode(grammarAccess.getMultiDatatypeAccess().getValueStringDatatypeParserRuleCall_2_1_0());
                                    pushFollow(FollowSets000.FOLLOW_2);
                                    lv_value_5_0 = ruleStringDatatype();
                                    state._fsp--;
                                    if (current == null) {
                                        current = createModelElementForParent(grammarAccess.getMultiDatatypeRule());
                                    }
                                    add(current, "value", lv_value_5_0, "org.eclipse.xtext.parser.assignments.AssignmentsTestLanguage.StringDatatype");
                                    afterParserOrEnumRuleCall();
                                }
                            }
                        }
                    }
                    break;
            }
        }
        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)

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