def arglist()

in src/google/appengine/api/search/QueryParser.py [0:0]


    def arglist(self, ):

        retval = self.arglist_return()
        retval.start = self.input.LT(1)

        root_0 = None

        arg33 = None

        sep34 = None

        arg35 = None


        stream_arg = RewriteRuleSubtreeStream(self._adaptor, "rule arg")
        stream_sep = RewriteRuleSubtreeStream(self._adaptor, "rule sep")
        try:
            try:

                alt20 = 2
                LA20_0 = self.input.LA(1)

                if (LA20_0 == RPAREN) :
                    alt20 = 1
                elif (LA20_0 == LPAREN or (FIX <= LA20_0 <= QUOTE)) :
                    alt20 = 2
                else:
                    nvae = NoViableAltException("", 20, 0, self.input)

                    raise nvae

                if alt20 == 1:

                    pass
                    root_0 = self._adaptor.nil()


                elif alt20 == 2:

                    pass
                    self._state.following.append(self.FOLLOW_arg_in_arglist680)
                    arg33 = self.arg()

                    self._state.following.pop()
                    stream_arg.add(arg33.tree)

                    while True:
                        alt19 = 2
                        LA19_0 = self.input.LA(1)

                        if (LA19_0 == WS or LA19_0 == COMMA) :
                            alt19 = 1


                        if alt19 == 1:

                            pass
                            self._state.following.append(self.FOLLOW_sep_in_arglist683)
                            sep34 = self.sep()

                            self._state.following.pop()
                            stream_sep.add(sep34.tree)
                            self._state.following.append(self.FOLLOW_arg_in_arglist685)
                            arg35 = self.arg()

                            self._state.following.pop()
                            stream_arg.add(arg35.tree)


                        else:
                            break










                    retval.tree = root_0

                    if retval is not None:
                        stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", retval.tree)
                    else:
                        stream_retval = RewriteRuleSubtreeStream(self._adaptor, "token retval", None)


                    root_0 = self._adaptor.nil()


                    while stream_arg.hasNext():
                        self._adaptor.addChild(root_0, stream_arg.nextTree())


                    stream_arg.reset();



                    retval.tree = root_0


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


                retval.tree = self._adaptor.rulePostProcessing(root_0)
                self._adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop)


            except RecognitionException as re:
                self.reportError(re)
                self.recover(self.input, re)
                retval.tree = self._adaptor.errorNode(self.input, retval.start, self.input.LT(-1), re)
        finally:

            pass

        return retval