From b01c5f0c168da4ee221ae1a6524c2cf09fb8d7aa Mon Sep 17 00:00:00 2001 From: Chris <Christopher.Happe@uni-duesseldorf.de> Date: Wed, 25 Nov 2020 07:44:32 +0100 Subject: [PATCH] Bugfix: Bei GOTO zu nicht vorhandener Markierung wird jetzt die richtige Zeile angezeigt. --- info4/kapitel-8/Interpreter/gotointerpreter.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/info4/kapitel-8/Interpreter/gotointerpreter.py b/info4/kapitel-8/Interpreter/gotointerpreter.py index 529f866..8831586 100644 --- a/info4/kapitel-8/Interpreter/gotointerpreter.py +++ b/info4/kapitel-8/Interpreter/gotointerpreter.py @@ -118,10 +118,10 @@ class GOTOInterpreter: current_token = self.next_token() while current_token is not None and max(self.marker_to_position.keys()) < int(marker_number): current_token = self.verify_line(current_token) - if marker_number not in self.marker_to_position.keys(): - self.error_handler.handle_error('GOTO zu nicht vorhandener Markierung') self.lex.current_position = self.marker_to_position.get(marker_number) self.error_handler.line_number = self.marker_to_line.get(marker_number) + if marker_number not in self.marker_to_position.keys(): + self.error_handler.handle_error('GOTO zu nicht vorhandener Markierung') return self.next_token() def verify_goto(self, goto_token): @@ -136,10 +136,10 @@ class GOTOInterpreter: current_token = self.next_token() while current_token is not None and max(self.marker_to_position.keys()) < int(marker_number): current_token = self.verify_line(current_token) - if marker_number not in self.marker_to_position.keys(): - self.error_handler.handle_error('GOTO zu nicht vorhandener Markierung') self.lex.current_position = saved_position self.error_handler.line_number = saved_line + if marker_number not in self.marker_to_position.keys(): + self.error_handler.handle_error('GOTO zu nicht vorhandener Markierung') return self.next_token() def process_if(self, if_token): -- GitLab