in src/google/appengine/api/search/QueryParser.py [0:0]
def comparator(self, ):
retval = self.comparator_return()
retval.start = self.input.LT(1)
root_0 = None
x = None
WS24 = None
WS25 = None
x_tree = None
WS24_tree = None
WS25_tree = None
stream_NE = RewriteRuleTokenStream(self._adaptor, "token NE")
stream_LESSTHAN = RewriteRuleTokenStream(self._adaptor, "token LESSTHAN")
stream_LE = RewriteRuleTokenStream(self._adaptor, "token LE")
stream_HAS = RewriteRuleTokenStream(self._adaptor, "token HAS")
stream_WS = RewriteRuleTokenStream(self._adaptor, "token WS")
stream_EQ = RewriteRuleTokenStream(self._adaptor, "token EQ")
stream_GT = RewriteRuleTokenStream(self._adaptor, "token GT")
stream_GE = RewriteRuleTokenStream(self._adaptor, "token GE")
try:
try:
pass
while True:
alt15 = 2
LA15_0 = self.input.LA(1)
if (LA15_0 == WS) :
alt15 = 1
if alt15 == 1:
pass
WS24=self.match(self.input, WS, self.FOLLOW_WS_in_comparator534)
stream_WS.add(WS24)
else:
break
alt16 = 7
LA16 = self.input.LA(1)
if LA16 == LE:
alt16 = 1
elif LA16 == LESSTHAN:
alt16 = 2
elif LA16 == GE:
alt16 = 3
elif LA16 == GT:
alt16 = 4
elif LA16 == NE:
alt16 = 5
elif LA16 == EQ:
alt16 = 6
elif LA16 == HAS:
alt16 = 7
else:
nvae = NoViableAltException("", 16, 0, self.input)
raise nvae
if alt16 == 1:
pass
x=self.match(self.input, LE, self.FOLLOW_LE_in_comparator540)
stream_LE.add(x)
elif alt16 == 2:
pass
x=self.match(self.input, LESSTHAN, self.FOLLOW_LESSTHAN_in_comparator546)
stream_LESSTHAN.add(x)
elif alt16 == 3:
pass
x=self.match(self.input, GE, self.FOLLOW_GE_in_comparator552)
stream_GE.add(x)
elif alt16 == 4:
pass
x=self.match(self.input, GT, self.FOLLOW_GT_in_comparator558)
stream_GT.add(x)
elif alt16 == 5:
pass
x=self.match(self.input, NE, self.FOLLOW_NE_in_comparator564)
stream_NE.add(x)
elif alt16 == 6:
pass
x=self.match(self.input, EQ, self.FOLLOW_EQ_in_comparator570)
stream_EQ.add(x)
elif alt16 == 7:
pass
x=self.match(self.input, HAS, self.FOLLOW_HAS_in_comparator576)
stream_HAS.add(x)
while True:
alt17 = 2
LA17_0 = self.input.LA(1)
if (LA17_0 == WS) :
alt17 = 1
if alt17 == 1:
pass
WS25=self.match(self.input, WS, self.FOLLOW_WS_in_comparator579)
stream_WS.add(WS25)
else:
break
retval.tree = root_0
stream_x = RewriteRuleTokenStream(self._adaptor, "token x", x)
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()
self._adaptor.addChild(root_0, stream_x.nextNode())
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