From 56f68655ca4302d8d7ad12183a39cf6fb55b8eed Mon Sep 17 00:00:00 2001 From: Erez Shinan Date: Tue, 7 Feb 2017 19:57:25 +0200 Subject: [PATCH] Fixed a small bug in parser error reporting --- lark/parser.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lark/parser.py b/lark/parser.py index 07d6924..396eeaf 100644 --- a/lark/parser.py +++ b/lark/parser.py @@ -23,7 +23,11 @@ class Parser(object): except KeyError: expected = states_idx[state].keys() context = ' '.join(['%r(%s)' % (t.value, t.type) for t in seq[i:i+5]]) - token = seq[i] + try: + token = seq[i] + except IndexError: + assert key == '$end' + token = seq[-1] raise ParseError("Unexpected input %r at line %d, column %d.\n" "Expected: %s\n" "Context: %s" % (token.value, token.line, token.column, expected, context))