(self)
return None
Parse a prefixexp.

        prefixexp ::= var | functioncall | '(' exp ')'

        functioncall ::=  prefixexp args | prefixexp ':' Name args

        args ::=  '(' [explist] ')' | tableconstructor | String

        This expands to:

        prefixexp ::= Name | prefixexp '[' exp ']' | prefixexp '.' Name |
                      prefixexp args | prefixexp ':' Name args | '(' exp ')'

        Or:

        prefixexp ::= Name prefixexp_recur |
                      '(' exp ')' prefixexp_recur

        Returns:
          VarList(vars)
          VarName(name)
          VarIndex(exp_prefix, exp_index)
          VarAttribute(exp_prefix, attr_name)
          FunctionCall(exp_prefix, args)
          FunctionCallMethod(exp_prefix, methodname, args)
          ExpValue(value)
          VarargDots()
          ExpBinOp(exp1, binop, exp2)
          ExpUnOp(unop, exp)
Parse a prefixexp.
Parse a prefixexp .
def _prefixexp(self):
        """Parse a prefixexp.

        prefixexp ::= var | functioncall | '(' exp ')'

        functioncall ::=  prefixexp args | prefixexp ':' Name args

        args ::=  '(' [explist] ')' | tableconstructor | String

        This expands to:

        prefixexp ::= Name | prefixexp '[' exp ']' | prefixexp '.' Name |
                      prefixexp args | prefixexp ':' Name args | '(' exp ')'

        Or:

        prefixexp ::= Name prefixexp_recur |
                      '(' exp ')' prefixexp_recur

        Returns:
          VarList(vars)
          VarName(name)
          VarIndex(exp_prefix, exp_index)
          VarAttribute(exp_prefix, attr_name)
          FunctionCall(exp_prefix, args)
          FunctionCallMethod(exp_prefix, methodname, args)
          ExpValue(value)
          VarargDots()
          ExpBinOp(exp1, binop, exp2)
          ExpUnOp(unop, exp)
        """
        pos = self._pos
        name = self._accept(lexer.TokName)
        if name is not None:
            return self._prefixexp_recur(
                VarName(name, start=pos, end=self._pos))

        if self._accept(lexer.TokSymbol(b'(')) is not None:
            # (exp can be None.)
            exp = self._exp()
            self._expect(lexer.TokSymbol(b')'))
            return self._prefixexp_recur(exp)

        return None
def _prefixexp ( self ) : pos = self . _pos name = self . _accept ( lexer . TokName ) if name is not None : return self . _prefixexp_recur ( VarName ( name , start = pos , end = self . _pos ) ) if self . _accept ( lexer . TokSymbol ( b'(' ) ) is not None : # (exp can be None.) exp = self . _exp ( ) self . _expect ( lexer . TokSymbol ( b')' ) ) return self . _prefixexp_recur ( exp ) return None