(self)
return ExpUnOp(unop, exp, start=pos, end=self._pos)
Parse a non-recursive expression term.

        exp_term ::=  nil | false | true | Number | String | '...' | function |
                      prefixexp | tableconstructor | unop exp

        Returns:
          ExpValue(value)
          VarargDots()
          ExpUnOp(unop, exp)
Parse a non-recursive expression term.
Parse a non - recursive expression term .
def _exp_term(self):
        """Parse a non-recursive expression term.

        exp_term ::=  nil | false | true | Number | String | '...' | function |
                      prefixexp | tableconstructor | unop exp

        Returns:
          ExpValue(value)
          VarargDots()
          ExpUnOp(unop, exp)
        """
        pos = self._pos
        if self._accept(lexer.TokKeyword(b'nil')) is not None:
            return ExpValue(None, start=pos, end=self._pos)
        if self._accept(lexer.TokKeyword(b'false')) is not None:
            return ExpValue(False, start=pos, end=self._pos)
        if self._accept(lexer.TokKeyword(b'true')) is not None:
            return ExpValue(True, start=pos, end=self._pos)
        val = self._accept(lexer.TokNumber)
        if val is not None:
            return ExpValue(val, start=pos, end=self._pos)
        val = self._accept(lexer.TokString)
        if val is not None:
            return ExpValue(val, start=pos, end=self._pos)
        if self._accept(lexer.TokSymbol(b'...')) is not None:
            return VarargDots(start=pos, end=self._pos)
        val = self._function()
        if val is not None:
            return ExpValue(val, start=pos, end=self._pos)
        val = self._prefixexp()
        if val is not None:
            return ExpValue(val, start=pos, end=self._pos)
        val = self._tableconstructor()
        if val is not None:
            return ExpValue(val, start=pos, end=self._pos)

        unop = None
        for unop_pat in UNOP_PATS:
            unop = self._accept(unop_pat)
            if unop is not None:
                break
        if unop is None:
            return None
        exp = self._assert(self._exp(), 'exp after unary op')
        return ExpUnOp(unop, exp, start=pos, end=self._pos)
def _exp_term ( self ) : pos = self . _pos if self . _accept ( lexer . TokKeyword ( b'nil' ) ) is not None : return ExpValue ( None , start = pos , end = self . _pos ) if self . _accept ( lexer . TokKeyword ( b'false' ) ) is not None : return ExpValue ( False , start = pos , end = self . _pos ) if self . _accept ( lexer . TokKeyword ( b'true' ) ) is not None : return ExpValue ( True , start = pos , end = self . _pos ) val = self . _accept ( lexer . TokNumber ) if val is not None : return ExpValue ( val , start = pos , end = self . _pos ) val = self . _accept ( lexer . TokString ) if val is not None : return ExpValue ( val , start = pos , end = self . _pos ) if self . _accept ( lexer . TokSymbol ( b'...' ) ) is not None : return VarargDots ( start = pos , end = self . _pos ) val = self . _function ( ) if val is not None : return ExpValue ( val , start = pos , end = self . _pos ) val = self . _prefixexp ( ) if val is not None : return ExpValue ( val , start = pos , end = self . _pos ) val = self . _tableconstructor ( ) if val is not None : return ExpValue ( val , start = pos , end = self . _pos ) unop = None for unop_pat in UNOP_PATS : unop = self . _accept ( unop_pat ) if unop is not None : break if unop is None : return None exp = self . _assert ( self . _exp ( ) , 'exp after unary op' ) return ExpUnOp ( unop , exp , start = pos , end = self . _pos )