\r
# Template function to parse binary operators which have same precedence\r
# Expr [Operator Expr]*\r
- def _ExprFuncTemplate(self, EvalFunc, OpLst):\r
+ def _ExprFuncTemplate(self, EvalFunc, OpSet):\r
Val = EvalFunc()\r
- while self._IsOperator(OpLst):\r
+ while self._IsOperator(OpSet):\r
Op = self._Token\r
try:\r
Val = self.Eval(Op, Val, EvalFunc())\r
- except WrnExpression, Warn:\r
+ except WrnExpression as Warn:\r
self._WarnExcept = Warn\r
Val = Warn.result\r
return Val\r
\r
# A [|| B]*\r
def _OrExpr(self):\r
- return self._ExprFuncTemplate(self._AndExpr, ["OR", "or"])\r
+ return self._ExprFuncTemplate(self._AndExpr, {"OR", "or"})\r
\r
# A [&& B]*\r
def _AndExpr(self):\r
- return self._ExprFuncTemplate(self._NeExpr, ["AND", "and"])\r
+ return self._ExprFuncTemplate(self._NeExpr, {"AND", "and"})\r
\r
def _NeExpr(self):\r
Val = self._RelExpr()\r
- while self._IsOperator([ "!=", "NOT", "not"]):\r
+ while self._IsOperator({"!=", "NOT", "not"}):\r
Op = self._Token\r
if Op in ["!", "NOT", "not"]:\r
- if not self._IsOperator(["IN", "in"]):\r
+ if not self._IsOperator({"IN", "in"}):\r
raise BadExpression(ERR_REL_NOT_IN)\r
Op += ' ' + self._Token\r
try:\r
Val = self.Eval(Op, Val, self._RelExpr())\r
- except WrnExpression, Warn:\r
+ except WrnExpression as Warn:\r
self._WarnExcept = Warn\r
Val = Warn.result\r
return Val\r
\r
# [!]*A\r
def _RelExpr(self):\r
- if self._IsOperator(["NOT" , "LE", "GE", "LT", "GT", "EQ", "XOR"]):\r
+ if self._IsOperator({"NOT" , "LE", "GE", "LT", "GT", "EQ", "XOR"}):\r
Token = self._Token\r
Val = self._NeExpr()\r
try:\r
return self.Eval(Token, Val)\r
- except WrnExpression, Warn:\r
+ except WrnExpression as Warn:\r
self._WarnExcept = Warn\r
return Warn.result\r
return self._IdenExpr()\r