# HG changeset patch # User Jacob Alexander # Date 1444714952 25200 # Node ID 27a8e6a81fa7407695b31b2909216c7de2fe691f # Parent 0962ed6bdc5f0fae8ecb916e9e117bf5c92e2a5a Adding better error messages for Tokenization and Parsing - More msg, less stack trace diff -r 0962ed6bdc5f -r 27a8e6a81fa7 kll.py --- a/kll.py Mon Oct 12 18:56:21 2015 -0700 +++ b/kll.py Mon Oct 12 22:42:32 2015 -0700 @@ -683,13 +683,17 @@ def processKLLFile( filename ): with open( filename ) as file: data = file.read() - tokenSequence = tokenize( data ) + try: + tokenSequence = tokenize( data ) + except LexerError as e: + print ( "{0} Tokenization error in '{1}' - {2}".format( ERROR, filename, e ) ) + sys.exit( 1 ) #print ( pformat( tokenSequence ) ) # Display tokenization try: tree = parse( tokenSequence ) except NoParseError as e: - print("Error parsing %s. %s" % (filename, e.msg), file=sys.stderr) - sys.exit(1) + print ( "{0} Parsing error in '{1}' - {2}".format( ERROR, filename, e ) ) + sys.exit( 1 ) ### Misc Utility Functions ###