def orOp()

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


    def orOp(self, ):

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

        root_0 = None

        WS41 = None
        OR42 = None
        WS43 = None

        WS41_tree = None
        OR42_tree = None
        WS43_tree = None

        try:
            try:


                pass
                root_0 = self._adaptor.nil()


                cnt24 = 0
                while True:
                    alt24 = 2
                    LA24_0 = self.input.LA(1)

                    if (LA24_0 == WS) :
                        alt24 = 1


                    if alt24 == 1:

                        pass
                        WS41=self.match(self.input, WS, self.FOLLOW_WS_in_orOp746)

                        WS41_tree = self._adaptor.createWithPayload(WS41)
                        self._adaptor.addChild(root_0, WS41_tree)



                    else:
                        if cnt24 >= 1:
                            break

                        eee = EarlyExitException(24, self.input)
                        raise eee

                    cnt24 += 1


                OR42=self.match(self.input, OR, self.FOLLOW_OR_in_orOp749)

                OR42_tree = self._adaptor.createWithPayload(OR42)
                self._adaptor.addChild(root_0, OR42_tree)


                cnt25 = 0
                while True:
                    alt25 = 2
                    LA25_0 = self.input.LA(1)

                    if (LA25_0 == WS) :
                        alt25 = 1


                    if alt25 == 1:

                        pass
                        WS43=self.match(self.input, WS, self.FOLLOW_WS_in_orOp751)

                        WS43_tree = self._adaptor.createWithPayload(WS43)
                        self._adaptor.addChild(root_0, WS43_tree)



                    else:
                        if cnt25 >= 1:
                            break

                        eee = EarlyExitException(25, self.input)
                        raise eee

                    cnt25 += 1





                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