def VALUE(self, _parent=None):
        _context = self.Context(_parent, self._scanner, self._pos, 'VALUE', [])
        _token = self._peek('"@"', 'FUNCNAME', 'STR_DQ', 'STR_SQ')
        if _token == '"@"':
            self._scan('"@"')
            IDENTIFIER = self._scan('IDENTIFIER')
            return AttribValue(IDENTIFIER)
        elif _token == 'FUNCNAME':
            FUNCNAME = self._scan('FUNCNAME')
            f = Function(FUNCNAME); args = []
            self._scan('"\\("')
            if self._peek('"\\)"', '"@"', 'FUNCNAME', '","', 'STR_DQ', 'STR_SQ') not in ['"\\)"', '","']:
                VALUE = self.VALUE(_context)
                args.append(VALUE)
                while self._peek('","', '"\\)"') == '","':
                    self._scan('","')
                    VALUE = self.VALUE(_context)
                    args.append(VALUE)
                if self._peek() not in ['","', '"\\)"']:
                    raise SyntaxError(charpos=self._scanner.get_prev_char_pos(), context=_context, msg='Need one of ' + ', '.join(['","', '"\\)"']))
            self._scan('"\\)"')
            f.setParams(*args); return f
        else: # in ['STR_DQ', 'STR_SQ']
            STR = self.STR(_context)
            return LiteralValue(STR[1:len(STR)-1])
dataset/ETHPy150Open kuri65536/python-for-android/python-modules/twisted/twisted/words/xish/xpathparser.py/XPathParser.VALUE/original