Код: Выделить всё
class lexer:
def __init__(self, code):
self.code = code
self.position = -1
self.current_character = None
def advance(self):
self.position += 1
self.current_character = self.code[self.position] if self.position < len(self.code) else None
def generate_list(self):
tokens = []
while self.current_character != None: ###AttributeError: 'str' object has no attribute 'current_character'
if self.current_character in ' \t':
self.advance()
elif self.current_character in digits:
tokens.append(self.generate_number())
elif self.current_character == '+':
tokens.append(token(plus))
self.advance()
#(Other tokens...)
else:
errant = self.current_character
self.advance()
return [], errors.m1(position, errant)
return tokens, None
Я пробовал ставить скобки после self.current_character, например self.current_character(), но интерпретатор обвинил только часть «self.current_character» и выдал ту же ошибку, игнорируя скобки. Я также пробовал заменить self на lexer, но лексер не распознавался.
Подробнее здесь: https://stackoverflow.com/questions/791 ... -character