in src/google/appengine/api/search/QueryParser.py [0:0]
def andOp(self, ):
retval = self.andOp_return()
retval.start = self.input.LT(1)
root_0 = None
WS38 = None
AND39 = None
WS40 = None
WS38_tree = None
AND39_tree = None
WS40_tree = None
try:
try:
pass
root_0 = self._adaptor.nil()
cnt22 = 0
while True:
alt22 = 2
LA22_0 = self.input.LA(1)
if (LA22_0 == WS) :
alt22 = 1
if alt22 == 1:
pass
WS38=self.match(self.input, WS, self.FOLLOW_WS_in_andOp726)
WS38_tree = self._adaptor.createWithPayload(WS38)
self._adaptor.addChild(root_0, WS38_tree)
else:
if cnt22 >= 1:
break
eee = EarlyExitException(22, self.input)
raise eee
cnt22 += 1
AND39=self.match(self.input, AND, self.FOLLOW_AND_in_andOp729)
AND39_tree = self._adaptor.createWithPayload(AND39)
self._adaptor.addChild(root_0, AND39_tree)
cnt23 = 0
while True:
alt23 = 2
LA23_0 = self.input.LA(1)
if (LA23_0 == WS) :
alt23 = 1
if alt23 == 1:
pass
WS40=self.match(self.input, WS, self.FOLLOW_WS_in_andOp731)
WS40_tree = self._adaptor.createWithPayload(WS40)
self._adaptor.addChild(root_0, WS40_tree)
else:
if cnt23 >= 1:
break
eee = EarlyExitException(23, self.input)
raise eee
cnt23 += 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