Olesya Ivanova 3 роки тому
батько
коміт
67fd7aa079
2 змінених файлів з 7 додано та 4 видалено
  1. 6 3
      interpreter/interpreter.py
  2. 1 1
      main.py

+ 6 - 3
interpreter/interpreter.py

@@ -16,14 +16,17 @@ class Interpreter():
         while self._current_char is not None:
             self._current_char: str = self._text[self._pos]
             if self._current_char.isdigit():
+                char = self._current_char
                 self._forward()
-                return Token(TokenType.INTEGER, self._current_char)
+                return Token(TokenType.INTEGER, char)
             if self._current_char == "+":
+                char = self._current_char
                 self._forward()
-                return Token(TokenType.PLUS, self._current_char)
+                return Token(TokenType.PLUS, char)
             if self._current_char == "-":
+                char = self._current_char
                 self._forward()
-                return Token(TokenType.MINUS, self._current_char)
+                return Token(TokenType.MINUS, char)
             raise InterpreterException(f"bad token {self._current_char}")
         return Token(TokenType.EOS, None)
 

+ 1 - 1
main.py

@@ -3,4 +3,4 @@ from interpreter import Interpreter
 if __name__ == "__main__":
     interpreter = Interpreter()
     print(interpreter("2+2"))
-    print(interpreter.interpret("3+ "))
+    print(interpreter.interpret("3+3"))