From 7f54baf2668a58f2908f8242b2fbafc65a7f684a Mon Sep 17 00:00:00 2001 From: Frederick Yin Date: Mon, 29 Aug 2022 20:40:35 +0800 Subject: hackc: exit on invalid token --- projects/hackc/parser.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'projects/hackc/parser.py') diff --git a/projects/hackc/parser.py b/projects/hackc/parser.py index c3056d7..400b096 100644 --- a/projects/hackc/parser.py +++ b/projects/hackc/parser.py @@ -1,4 +1,5 @@ from .tokens import Token +from .utils import * KEYWORDS = [ "class", @@ -83,3 +84,9 @@ class Parser: if token is not None: self.tokens.append(token) pos += token.length() + else: + # invalid token + print_err(f"{self._fp}:{line_no + 1}") + print_err(line) + print_err(" " * pos + f"^ Invalid token") + exit(EXIT_CODE_INVALID_TOKEN) -- cgit v1.2.3