public Predicate_atomContext predicate_atom()
    {
        Predicate_atomContext _localctx = new Predicate_atomContext(Context, State);

        EnterRule(_localctx, 2, RULE_predicate_atom);
        int _la;

        try {
            EnterOuterAlt(_localctx, 1);
            {
                State = 12; Match(IDENTIFIER);
                State = 24;
                ErrorHandler.Sync(this);
                _la = TokenStream.LA(1);
                if (_la == T__0)
                {
                    {
                        State = 13; Match(T__0);
                        State = 14; term();
                        State = 19;
                        ErrorHandler.Sync(this);
                        _la = TokenStream.LA(1);
                        while (_la == T__1)
                        {
                            {
                                {
                                    State = 15; Match(T__1);
                                    State = 16; term();
                                }
                            }
                            State = 21;
                            ErrorHandler.Sync(this);
                            _la = TokenStream.LA(1);
                        }
                        State = 22; Match(T__2);
                    }
                }
            }
        }
        catch (RecognitionException re) {
            _localctx.exception = re;
            ErrorHandler.ReportError(this, re);
            ErrorHandler.Recover(this, re);
        }
        finally {
            ExitRule();
        }
        return(_localctx);
    }
Exemple #2
0
    public Predicate_atomContext predicate_atom()
    {
        Predicate_atomContext _localctx = new Predicate_atomContext(Context, State);

        EnterRule(_localctx, 10, RULE_predicate_atom);
        int _la;

        try {
            EnterOuterAlt(_localctx, 1);
            {
                State = 50; Match(IDENTIFIER);
                State = 62;
                ErrorHandler.Sync(this);
                _la = TokenStream.LA(1);
                if (_la == TERMS_BEGIN)
                {
                    {
                        State = 51; Match(TERMS_BEGIN);
                        State = 52; term();
                        State = 57;
                        ErrorHandler.Sync(this);
                        _la = TokenStream.LA(1);
                        while (_la == COMMA)
                        {
                            {
                                {
                                    State = 53; Match(COMMA);
                                    State = 54; term();
                                }
                            }
                            State = 59;
                            ErrorHandler.Sync(this);
                            _la = TokenStream.LA(1);
                        }
                        State = 60; Match(TERMS_END);
                    }
                }
            }
        }
        catch (RecognitionException re) {
            _localctx.exception = re;
            ErrorHandler.ReportError(this, re);
            ErrorHandler.Recover(this, re);
        }
        finally {
            ExitRule();
        }
        return(_localctx);
    }