Başlıktan da anladığınız gibi Phyton da kod yazarken "elif" kodu hata çıkarıyor.
Üst satırdaki if kodunun başından bir boşluk siliyorum ve sadece if kodu hata veriyor.
Kodun tamamı şu şekilde:
[CODE lang="python" title="Phyton"]########################################
# TOKENS
########################################
TT_INT = 'TT_INT'
TT_FLOAT = 'FLOAT'
TT_PLUS = 'PLUS'
TT_MINUS = 'MINUS'
TT_MUL = 'MUL'
TT_DIV = 'DIV'
TT_LPAREN = 'LPAREN'
TT_RPAREN = 'RPAREN'
class Token:
def __init__(self, type_, value=None):
self.type = type_
self.value = value
def __repr__(self):
if self.value: return f'{self.type}:{self.value}'
return f'{self.type}'
########################################
# LEXER
########################################
class Lexer:
def __init__(self, text):
self.text = text
self.pos = -1
self.current_char = None
self.advance()
def advance(self):
self.pos += 1
self.current_char = self.text[pos] if self.pos < len(self.text) else None
def make_tokens(self):
tokens = []
while self.current_char != None: | sorun burada
if self.current_char in '/t':
self.advance()
elif self.current_char == '+': | sorun bu satırda
tokens.append(Token(TT_PLUS))
self.advance()
return tokens[/CODE]
Üst satırdaki if kodunun başından bir boşluk siliyorum ve sadece if kodu hata veriyor.
Kodun tamamı şu şekilde:
[CODE lang="python" title="Phyton"]########################################
# TOKENS
########################################
TT_INT = 'TT_INT'
TT_FLOAT = 'FLOAT'
TT_PLUS = 'PLUS'
TT_MINUS = 'MINUS'
TT_MUL = 'MUL'
TT_DIV = 'DIV'
TT_LPAREN = 'LPAREN'
TT_RPAREN = 'RPAREN'
class Token:
def __init__(self, type_, value=None):
self.type = type_
self.value = value
def __repr__(self):
if self.value: return f'{self.type}:{self.value}'
return f'{self.type}'
########################################
# LEXER
########################################
class Lexer:
def __init__(self, text):
self.text = text
self.pos = -1
self.current_char = None
self.advance()
def advance(self):
self.pos += 1
self.current_char = self.text[pos] if self.pos < len(self.text) else None
def make_tokens(self):
tokens = []
while self.current_char != None: | sorun burada
if self.current_char in '/t':
self.advance()
elif self.current_char == '+': | sorun bu satırda
tokens.append(Token(TT_PLUS))
self.advance()
return tokens[/CODE]
Dosya Ekleri
Son düzenleyen: Moderatör: