AttributeError:'str'对象没有属性'compare'

时间:2019-12-14 16:38:57

标签: python

我正在构建一个解析器,但我遇到一个属性错误问题,提示:

  

AttributeError:'str'对象没有属性'compare'

def digit(self):
        self.current_token=self.get_next_token()
        print(self.current_token)
        if self.current_token=='0' or self.current_token=='1' or self.current_token=='2' or self.current_token=='3' or self.current_token=='4' or self.current_token=='5' or self.current_token=='6' or self.current_token=='7' or self.current_token=='8' or self.current_token=='9':
            self.current_token.compare(current_token)
            return current_token.value
        else:
            raise Exception("Parser Error: Not within range.")
class Token(object):
    def __init__(self, type, value):
        self.type = type
        self.value = value

    def __str__(self):

        return 'Token({type}, {value})'.format(
            type=self.type,
            value=repr(self.value)
        )

    def __repr__(self):
        return self.__str__()

我希望有人能够提供帮助。谢谢。

编辑:这是一个包含比较并定义current_token的类。

class Interpreter(object):
    def __init__(self, text):
        self.text = text
        self.pos = 0
        self.current_token = None
def compare(self, token_type):
        if self.current_token.type == token_type:
            self.current_token = self.get_next_token()
        else:
            self.error()

0 个答案:

没有答案