in evaluation/latex2sympy/gen/PSParser.py [0:0]
def exp(self, _p=0):
_parentctx = self._ctx
_parentState = self.state
localctx = PSParser.ExpContext(self, self._ctx, _parentState)
_prevctx = localctx
_startState = 56
self.enterRecursionRule(localctx, 56, self.RULE_exp, _p)
try:
self.enterOuterAlt(localctx, 1)
self.state = 393
self.comp()
self._ctx.stop = self._input.LT(-1)
self.state = 409
self._errHandler.sync(self)
_alt = self._interp.adaptivePredict(self._input, 32, self._ctx)
while _alt != 2 and _alt != ATN.INVALID_ALT_NUMBER:
if _alt == 1:
if self._parseListeners is not None:
self.triggerExitRuleEvent()
_prevctx = localctx
localctx = PSParser.ExpContext(self, _parentctx, _parentState)
self.pushNewRecursionContext(localctx, _startState, self.RULE_exp)
self.state = 395
if not self.precpred(self._ctx, 2):
from antlr4.error.Errors import FailedPredicateException
raise FailedPredicateException(self, "self.precpred(self._ctx, 2)")
self.state = 396
self.match(PSParser.CARET)
self.state = 402
self._errHandler.sync(self)
token = self._input.LA(1)
if token in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 154, 173, 176, 179, 180, 190, 191, 192, 193, 194]:
self.state = 397
self.atom()
pass
elif token in [55]:
self.state = 398
self.match(PSParser.L_BRACE)
self.state = 399
self.expr()
self.state = 400
self.match(PSParser.R_BRACE)
pass
else:
raise NoViableAltException(self)
self.state = 405
self._errHandler.sync(self)
la_ = self._interp.adaptivePredict(self._input, 31, self._ctx)
if la_ == 1:
self.state = 404
self.subexpr()
self.state = 411
self._errHandler.sync(self)
_alt = self._interp.adaptivePredict(self._input, 32, self._ctx)
except RecognitionException as re:
localctx.exception = re
self._errHandler.reportError(self, re)
self._errHandler.recover(self, re)
finally:
self.unrollRecursionContexts(_parentctx)
return localctx