summaryrefslogtreecommitdiff
path: root/nandgame/assembler/lexer.py
diff options
context:
space:
mode:
Diffstat (limited to 'nandgame/assembler/lexer.py')
-rw-r--r--nandgame/assembler/lexer.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/nandgame/assembler/lexer.py b/nandgame/assembler/lexer.py
index aab2549..1d3043a 100644
--- a/nandgame/assembler/lexer.py
+++ b/nandgame/assembler/lexer.py
@@ -65,5 +65,15 @@ def t_error(t):
print("!!! Illegal character '%s'" % t.value[0])
t.lexer.skip(1)
+# EOF handling rule
+def t_eof(t):
+ if not t.lexer.newline_added:
+ print("Warning, EOF without newline encountered. Trying to add it.")
+ t.lexer.input("\n")
+ t.lexer.newline_added = True
+ return t.lexer.token()
+ return None
+
# Build the lexer
lexer = lex.lex()
+lexer.newline_added = False