From 1328887bb78ba034fe3d496ad8029382c1ec678e Mon Sep 17 00:00:00 2001 From: Frederick Yin Date: Wed, 31 Aug 2022 17:08:38 +0800 Subject: hackc: Parser handles IndexError --- projects/hackc/parser.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'projects/hackc/parser.py') diff --git a/projects/hackc/parser.py b/projects/hackc/parser.py index 8375d52..188bddc 100644 --- a/projects/hackc/parser.py +++ b/projects/hackc/parser.py @@ -102,3 +102,9 @@ class Parser: print_err(self.lines[err.token.line_no]) print_err(" " * err.token.column + "^ " + err.message) exit(EXIT_CODE_SYNTAX_ERROR) + except IndexError: + last_line = self.lines[-1] + print_err(f"{self._fp}:{len(self.lines)}") + print_err(last_line) + print_err(" " * len(last_line) + "^ Unexpected EOF") + exit(EXIT_CODE_EOF) -- cgit v1.2.3