Пример #1
0
    // $ANTLR start "operator_no_dot"
    // ..\\Plugin.access\\AntlrParser\\Access.g:52:1: operator_no_dot : ( EQUALS | SAFEEQUALS | EQUALS2 | NOT_EQUALS | NOT_EQUALS2 | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ | SHIFT_LEFT | SHIFT_RIGHT | AMPERSAND | DOUBLE_AMPERSAND | PIPE | DOUBLE_PIPE | PLUS | MINUS | TILDA | ASTERISK | SLASH | PERCENT | SEMI | COMMA | LPAREN | RPAREN | QUESTION | EXCLAMATION | COLON | AT | DOLLAR | ARROW_UP );
    public AccessParser.operator_no_dot_return operator_no_dot() // throws RecognitionException [1]
    {
        AccessParser.operator_no_dot_return retval = new AccessParser.operator_no_dot_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken set2 = null;

        object set2_tree = null;

        try
        {
            // ..\\Plugin.access\\AntlrParser\\Access.g:52:17: ( EQUALS | SAFEEQUALS | EQUALS2 | NOT_EQUALS | NOT_EQUALS2 | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ | SHIFT_LEFT | SHIFT_RIGHT | AMPERSAND | DOUBLE_AMPERSAND | PIPE | DOUBLE_PIPE | PLUS | MINUS | TILDA | ASTERISK | SLASH | PERCENT | SEMI | COMMA | LPAREN | RPAREN | QUESTION | EXCLAMATION | COLON | AT | DOLLAR | ARROW_UP )
            // ..\\Plugin.access\\AntlrParser\\Access.g:
            {
                root_0 = (object)adaptor.GetNilNode();

                set2 = (IToken)input.LT(1);
                if ((input.LA(1) >= EQUALS && input.LA(1) <= SEMI) || (input.LA(1) >= COMMA && input.LA(1) <= ARROW_UP))
                {
                    input.Consume();
                    adaptor.AddChild(root_0, (object)adaptor.Create(set2));
                    state.errorRecovery = false;
                }
                else
                {
                    MismatchedSetException mse = new MismatchedSetException(null, input);
                    throw mse;
                }
            }

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

            retval.Tree = (object)adaptor.RulePostProcessing(root_0);
            adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop);
        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input, re);
            // Conversion of the second argument necessary, but harmless
            retval.Tree = (object)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re);
        }
        finally
        {
        }
        return(retval);
    }
Пример #2
0
    // $ANTLR start "any_operator"
    // ..\\Plugin.access\\AntlrParser\\Access.g:59:1: any_operator : ( DOT | operator_no_dot );
    public AccessParser.any_operator_return any_operator() // throws RecognitionException [1]
    {
        AccessParser.any_operator_return retval = new AccessParser.any_operator_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken DOT3 = null;

        AccessParser.operator_no_dot_return operator_no_dot4 = default(AccessParser.operator_no_dot_return);


        object DOT3_tree = null;

        try
        {
            // ..\\Plugin.access\\AntlrParser\\Access.g:59:13: ( DOT | operator_no_dot )
            int alt1  = 2;
            int LA1_0 = input.LA(1);

            if ((LA1_0 == DOT))
            {
                alt1 = 1;
            }
            else if (((LA1_0 >= EQUALS && LA1_0 <= SEMI) || (LA1_0 >= COMMA && LA1_0 <= ARROW_UP)))
            {
                alt1 = 2;
            }
            else
            {
                NoViableAltException nvae_d1s0 =
                    new NoViableAltException("", 1, 0, input);

                throw nvae_d1s0;
            }
            switch (alt1)
            {
            case 1:
                // ..\\Plugin.access\\AntlrParser\\Access.g:59:15: DOT
            {
                root_0 = (object)adaptor.GetNilNode();

                DOT3      = (IToken)Match(input, DOT, FOLLOW_DOT_in_any_operator569);
                DOT3_tree = (object)adaptor.Create(DOT3);
                adaptor.AddChild(root_0, DOT3_tree);
            }
            break;

            case 2:
                // ..\\Plugin.access\\AntlrParser\\Access.g:59:21: operator_no_dot
            {
                root_0 = (object)adaptor.GetNilNode();

                PushFollow(FOLLOW_operator_no_dot_in_any_operator573);
                operator_no_dot4 = operator_no_dot();
                state.followingStackPointer--;

                adaptor.AddChild(root_0, operator_no_dot4.Tree);
            }
            break;
            }
            retval.Stop = input.LT(-1);

            retval.Tree = (object)adaptor.RulePostProcessing(root_0);
            adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop);
        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input, re);
            // Conversion of the second argument necessary, but harmless
            retval.Tree = (object)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re);
        }
        finally
        {
        }
        return(retval);
    }