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