in src/google/appengine/api/search/QueryParser.py [0:0]
def restriction(self, ):
retval = self.restriction_return()
retval.start = self.input.LT(1)
root_0 = None
comparable21 = None
comparator22 = None
arg23 = None
stream_comparator = RewriteRuleSubtreeStream(self._adaptor, "rule comparator")
stream_arg = RewriteRuleSubtreeStream(self._adaptor, "rule arg")
stream_comparable = RewriteRuleSubtreeStream(self._adaptor, "rule comparable")
try:
try:
pass
self._state.following.append(self.FOLLOW_comparable_in_restriction467)
comparable21 = self.comparable()
self._state.following.pop()
stream_comparable.add(comparable21.tree)
alt14 = 2
alt14 = self.dfa14.predict(self.input)
if alt14 == 1:
pass
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()
root_1 = self._adaptor.nil()
root_1 = self._adaptor.becomeRoot(self._adaptor.createFromType(HAS, "HAS"), root_1)
self._adaptor.addChild(root_1, self._adaptor.createFromType(GLOBAL, "GLOBAL"))
self._adaptor.addChild(root_1, stream_comparable.nextTree())
self._adaptor.addChild(root_0, root_1)
retval.tree = root_0
elif alt14 == 2:
pass
self._state.following.append(self.FOLLOW_comparator_in_restriction502)
comparator22 = self.comparator()
self._state.following.pop()
stream_comparator.add(comparator22.tree)
self._state.following.append(self.FOLLOW_arg_in_restriction504)
arg23 = self.arg()
self._state.following.pop()
stream_arg.add(arg23.tree)
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()
root_1 = self._adaptor.nil()
root_1 = self._adaptor.becomeRoot(stream_comparator.nextNode(), root_1)
self._adaptor.addChild(root_1, stream_comparable.nextTree())
self._adaptor.addChild(root_1, stream_arg.nextTree())
self._adaptor.addChild(root_0, root_1)
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