summaryrefslogtreecommitdiff
path: root/projects/hackc/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'projects/hackc/parser.py')
-rw-r--r--projects/hackc/parser.py7
1 files changed, 7 insertions, 0 deletions
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)