public final BELStatementParser.relationship_return relationship() throws RecognitionException {
        BELStatementParser.relationship_return retval = new BELStatementParser.relationship_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token rv=null;

        Object rv_tree=null;

        try {
            // BELStatement.g:230:42: ( (rv= 'increases' | rv= '->' | rv= 'decreases' | rv= '-|' | rv= 'directlyIncreases' | rv= '=>' | rv= 'directlyDecreases' | rv= '=|' | rv= 'causesNoChange' | rv= 'positiveCorrelation' | rv= 'negativeCorrelation' | rv= 'translatedTo' | rv= '>>' | rv= 'transcribedTo' | rv= ':>' | rv= 'isA' | rv= 'subProcessOf' | rv= 'rateLimitingStepOf' | rv= 'biomarkerFor' | rv= 'prognosticBiomarkerFor' | rv= 'orthologous' | rv= 'analogous' | rv= 'association' | rv= '--' | rv= 'hasMembers' | rv= 'hasComponents' | rv= 'hasMember' | rv= 'hasComponent' ) )
            // BELStatement.g:231:5: (rv= 'increases' | rv= '->' | rv= 'decreases' | rv= '-|' | rv= 'directlyIncreases' | rv= '=>' | rv= 'directlyDecreases' | rv= '=|' | rv= 'causesNoChange' | rv= 'positiveCorrelation' | rv= 'negativeCorrelation' | rv= 'translatedTo' | rv= '>>' | rv= 'transcribedTo' | rv= ':>' | rv= 'isA' | rv= 'subProcessOf' | rv= 'rateLimitingStepOf' | rv= 'biomarkerFor' | rv= 'prognosticBiomarkerFor' | rv= 'orthologous' | rv= 'analogous' | rv= 'association' | rv= '--' | rv= 'hasMembers' | rv= 'hasComponents' | rv= 'hasMember' | rv= 'hasComponent' )
            {
            root_0 = (Object)adaptor.nil();

            // BELStatement.g:231:5: (rv= 'increases' | rv= '->' | rv= 'decreases' | rv= '-|' | rv= 'directlyIncreases' | rv= '=>' | rv= 'directlyDecreases' | rv= '=|' | rv= 'causesNoChange' | rv= 'positiveCorrelation' | rv= 'negativeCorrelation' | rv= 'translatedTo' | rv= '>>' | rv= 'transcribedTo' | rv= ':>' | rv= 'isA' | rv= 'subProcessOf' | rv= 'rateLimitingStepOf' | rv= 'biomarkerFor' | rv= 'prognosticBiomarkerFor' | rv= 'orthologous' | rv= 'analogous' | rv= 'association' | rv= '--' | rv= 'hasMembers' | rv= 'hasComponents' | rv= 'hasMember' | rv= 'hasComponent' )
            int alt12=28;
            switch ( input.LA(1) ) {
            case 76:
                {
                alt12=1;
                }
                break;
            case 77:
                {
                alt12=2;
                }
                break;
            case 78:
                {
                alt12=3;
                }
                break;
            case 79:
                {
                alt12=4;
                }
                break;
            case 80:
                {
                alt12=5;
                }
                break;
            case 81:
                {
                alt12=6;
                }
                break;
            case 82:
                {
                alt12=7;
                }
                break;
            case 83:
                {
                alt12=8;
                }
                break;
            case 84:
                {
                alt12=9;
                }
                break;
            case 85:
                {
                alt12=10;
                }
                break;
            case 86:
                {
                alt12=11;
                }
                break;
            case 87:
                {
                alt12=12;
                }
                break;
            case 88:
                {
                alt12=13;
                }
                break;
            case 89:
                {
                alt12=14;
                }
                break;
            case 90:
                {
                alt12=15;
                }
                break;
            case 91:
                {
                alt12=16;
                }
                break;
            case 92:
                {
                alt12=17;
                }
                break;
            case 93:
                {
                alt12=18;
                }
                break;
            case 94:
                {
                alt12=19;
                }
                break;
            case 95:
                {
                alt12=20;
                }
                break;
            case 96:
                {
                alt12=21;
                }
                break;
            case 97:
                {
                alt12=22;
                }
                break;
            case 98:
                {
                alt12=23;
                }
                break;
            case 99:
                {
                alt12=24;
                }
                break;
            case 100:
                {
                alt12=25;
                }
                break;
            case 101:
                {
                alt12=26;
                }
                break;
            case 102:
                {
                alt12=27;
                }
                break;
            case 103:
                {
                alt12=28;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 12, 0, input);

                throw nvae;
            }

            switch (alt12) {
                case 1 :
                    // BELStatement.g:232:9: rv= 'increases'
                    {
                    rv=(Token)match(input,76,FOLLOW_76_in_relationship2559); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 2 :
                    // BELStatement.g:233:9: rv= '->'
                    {
                    rv=(Token)match(input,77,FOLLOW_77_in_relationship2592); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 3 :
                    // BELStatement.g:234:9: rv= 'decreases'
                    {
                    rv=(Token)match(input,78,FOLLOW_78_in_relationship2632); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 4 :
                    // BELStatement.g:235:9: rv= '-|'
                    {
                    rv=(Token)match(input,79,FOLLOW_79_in_relationship2665); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 5 :
                    // BELStatement.g:236:9: rv= 'directlyIncreases'
                    {
                    rv=(Token)match(input,80,FOLLOW_80_in_relationship2705); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 6 :
                    // BELStatement.g:237:9: rv= '=>'
                    {
                    rv=(Token)match(input,81,FOLLOW_81_in_relationship2730); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 7 :
                    // BELStatement.g:238:9: rv= 'directlyDecreases'
                    {
                    rv=(Token)match(input,82,FOLLOW_82_in_relationship2770); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 8 :
                    // BELStatement.g:239:9: rv= '=|'
                    {
                    rv=(Token)match(input,83,FOLLOW_83_in_relationship2795); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 9 :
                    // BELStatement.g:240:9: rv= 'causesNoChange'
                    {
                    rv=(Token)match(input,84,FOLLOW_84_in_relationship2835); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 10 :
                    // BELStatement.g:241:9: rv= 'positiveCorrelation'
                    {
                    rv=(Token)match(input,85,FOLLOW_85_in_relationship2863); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 11 :
                    // BELStatement.g:242:9: rv= 'negativeCorrelation'
                    {
                    rv=(Token)match(input,86,FOLLOW_86_in_relationship2886); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 12 :
                    // BELStatement.g:243:9: rv= 'translatedTo'
                    {
                    rv=(Token)match(input,87,FOLLOW_87_in_relationship2909); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 13 :
                    // BELStatement.g:244:9: rv= '>>'
                    {
                    rv=(Token)match(input,88,FOLLOW_88_in_relationship2939); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 14 :
                    // BELStatement.g:245:9: rv= 'transcribedTo'
                    {
                    rv=(Token)match(input,89,FOLLOW_89_in_relationship2979); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 15 :
                    // BELStatement.g:246:9: rv= ':>'
                    {
                    rv=(Token)match(input,90,FOLLOW_90_in_relationship3008); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 16 :
                    // BELStatement.g:247:9: rv= 'isA'
                    {
                    rv=(Token)match(input,91,FOLLOW_91_in_relationship3048); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 17 :
                    // BELStatement.g:248:9: rv= 'subProcessOf'
                    {
                    rv=(Token)match(input,92,FOLLOW_92_in_relationship3087); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 18 :
                    // BELStatement.g:249:9: rv= 'rateLimitingStepOf'
                    {
                    rv=(Token)match(input,93,FOLLOW_93_in_relationship3117); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 19 :
                    // BELStatement.g:250:9: rv= 'biomarkerFor'
                    {
                    rv=(Token)match(input,94,FOLLOW_94_in_relationship3141); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 20 :
                    // BELStatement.g:251:9: rv= 'prognosticBiomarkerFor'
                    {
                    rv=(Token)match(input,95,FOLLOW_95_in_relationship3171); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 21 :
                    // BELStatement.g:252:9: rv= 'orthologous'
                    {
                    rv=(Token)match(input,96,FOLLOW_96_in_relationship3191); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 22 :
                    // BELStatement.g:253:9: rv= 'analogous'
                    {
                    rv=(Token)match(input,97,FOLLOW_97_in_relationship3222); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 23 :
                    // BELStatement.g:254:9: rv= 'association'
                    {
                    rv=(Token)match(input,98,FOLLOW_98_in_relationship3255); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 24 :
                    // BELStatement.g:255:9: rv= '--'
                    {
                    rv=(Token)match(input,99,FOLLOW_99_in_relationship3286); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 25 :
                    // BELStatement.g:256:9: rv= 'hasMembers'
                    {
                    rv=(Token)match(input,100,FOLLOW_100_in_relationship3326); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 26 :
                    // BELStatement.g:257:9: rv= 'hasComponents'
                    {
                    rv=(Token)match(input,101,FOLLOW_101_in_relationship3358); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 27 :
                    // BELStatement.g:258:9: rv= 'hasMember'
                    {
                    rv=(Token)match(input,102,FOLLOW_102_in_relationship3387); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;
                case 28 :
                    // BELStatement.g:259:9: rv= 'hasComponent'
                    {
                    rv=(Token)match(input,103,FOLLOW_103_in_relationship3420); 
                    rv_tree = (Object)adaptor.create(rv);
                    adaptor.addChild(root_0, rv_tree);

                     retval.r = RelationshipType.fromString(rv.getText()); if(retval.r == null) { retval.r = RelationshipType.fromAbbreviation(rv.getText()); } 

                    }
                    break;

            }


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
public final BELStatementParser . relationship_return relationship ( ) throws RecognitionException { BELStatementParser . relationship_return retval = new BELStatementParser . relationship_return ( ) ; retval . start = input . LT ( 1 ) ; Object root_0 = null ; Token rv = null ; Object rv_tree = null ; try { { root_0 = ( Object ) adaptor . nil ( ) ; int alt12 = 28 ; switch ( input . LA ( 1 ) ) { case 76 : { alt12 = 1 ; } break ; case 77 : { alt12 = 2 ; } break ; case 78 : { alt12 = 3 ; } break ; case 79 : { alt12 = 4 ; } break ; case 80 : { alt12 = 5 ; } break ; case 81 : { alt12 = 6 ; } break ; case 82 : { alt12 = 7 ; } break ; case 83 : { alt12 = 8 ; } break ; case 84 : { alt12 = 9 ; } break ; case 85 : { alt12 = 10 ; } break ; case 86 : { alt12 = 11 ; } break ; case 87 : { alt12 = 12 ; } break ; case 88 : { alt12 = 13 ; } break ; case 89 : { alt12 = 14 ; } break ; case 90 : { alt12 = 15 ; } break ; case 91 : { alt12 = 16 ; } break ; case 92 : { alt12 = 17 ; } break ; case 93 : { alt12 = 18 ; } break ; case 94 : { alt12 = 19 ; } break ; case 95 : { alt12 = 20 ; } break ; case 96 : { alt12 = 21 ; } break ; case 97 : { alt12 = 22 ; } break ; case 98 : { alt12 = 23 ; } break ; case 99 : { alt12 = 24 ; } break ; case 100 : { alt12 = 25 ; } break ; case 101 : { alt12 = 26 ; } break ; case 102 : { alt12 = 27 ; } break ; case 103 : { alt12 = 28 ; } break ; default : NoViableAltException nvae = new NoViableAltException ( "" , 12 , 0 , input ) ; throw nvae ; } switch ( alt12 ) { case 1 : { rv = ( Token ) match ( input , 76 , FOLLOW_76_in_relationship2559 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 2 : { rv = ( Token ) match ( input , 77 , FOLLOW_77_in_relationship2592 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 3 : { rv = ( Token ) match ( input , 78 , FOLLOW_78_in_relationship2632 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 4 : { rv = ( Token ) match ( input , 79 , FOLLOW_79_in_relationship2665 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 5 : { rv = ( Token ) match ( input , 80 , FOLLOW_80_in_relationship2705 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 6 : { rv = ( Token ) match ( input , 81 , FOLLOW_81_in_relationship2730 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 7 : { rv = ( Token ) match ( input , 82 , FOLLOW_82_in_relationship2770 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 8 : { rv = ( Token ) match ( input , 83 , FOLLOW_83_in_relationship2795 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 9 : { rv = ( Token ) match ( input , 84 , FOLLOW_84_in_relationship2835 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 10 : { rv = ( Token ) match ( input , 85 , FOLLOW_85_in_relationship2863 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 11 : { rv = ( Token ) match ( input , 86 , FOLLOW_86_in_relationship2886 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 12 : { rv = ( Token ) match ( input , 87 , FOLLOW_87_in_relationship2909 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 13 : { rv = ( Token ) match ( input , 88 , FOLLOW_88_in_relationship2939 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 14 : { rv = ( Token ) match ( input , 89 , FOLLOW_89_in_relationship2979 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 15 : { rv = ( Token ) match ( input , 90 , FOLLOW_90_in_relationship3008 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 16 : { rv = ( Token ) match ( input , 91 , FOLLOW_91_in_relationship3048 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 17 : { rv = ( Token ) match ( input , 92 , FOLLOW_92_in_relationship3087 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 18 : { rv = ( Token ) match ( input , 93 , FOLLOW_93_in_relationship3117 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 19 : { rv = ( Token ) match ( input , 94 , FOLLOW_94_in_relationship3141 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 20 : { rv = ( Token ) match ( input , 95 , FOLLOW_95_in_relationship3171 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 21 : { rv = ( Token ) match ( input , 96 , FOLLOW_96_in_relationship3191 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 22 : { rv = ( Token ) match ( input , 97 , FOLLOW_97_in_relationship3222 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 23 : { rv = ( Token ) match ( input , 98 , FOLLOW_98_in_relationship3255 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 24 : { rv = ( Token ) match ( input , 99 , FOLLOW_99_in_relationship3286 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 25 : { rv = ( Token ) match ( input , 100 , FOLLOW_100_in_relationship3326 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 26 : { rv = ( Token ) match ( input , 101 , FOLLOW_101_in_relationship3358 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 27 : { rv = ( Token ) match ( input , 102 , FOLLOW_102_in_relationship3387 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; case 28 : { rv = ( Token ) match ( input , 103 , FOLLOW_103_in_relationship3420 ) ; rv_tree = ( Object ) adaptor . create ( rv ) ; adaptor . addChild ( root_0 , rv_tree ) ; retval . r = RelationshipType . fromString ( rv . getText ( ) ) ; if ( retval . r == null ) { retval . r = RelationshipType . fromAbbreviation ( rv . getText ( ) ) ; } } break ; } } retval . stop = input . LT ( - 1 ) ; retval . tree = ( Object ) adaptor . rulePostProcessing ( root_0 ) ; adaptor . setTokenBoundaries ( retval . tree , retval . start , retval . stop ) ; } catch ( RecognitionException re ) { reportError ( re ) ; recover ( input , re ) ; retval . tree = ( Object ) adaptor . errorNode ( input , retval . start , input . LT ( - 1 ) , re ) ; } finally { } return retval ; }
BELStatement.g:230:1: relationship returns [RelationshipType r] : (rv= 'increases' | rv= '->' | rv= 'decreases' | rv= '-|' | rv= 'directlyIncreases' | rv= '=>' | rv= 'directlyDecreases' | rv= '=|' | rv= 'causesNoChange' | rv= 'positiveCorrelation' | rv= 'negativeCorrelation' | rv= 'translatedTo' | rv= '>>' | rv= 'transcribedTo' | rv= ':>' | rv= 'isA' | rv= 'subProcessOf' | rv= 'rateLimitingStepOf' | rv= 'biomarkerFor' | rv= 'prognosticBiomarkerFor' | rv= 'orthologous' | rv= 'analogous' | rv= 'association' | rv= '--' | rv= 'hasMembers' | rv= 'hasComponents' | rv= 'hasMember' | rv= 'hasComponent' ) ;