Browse Source

Adding better error messages for Tokenization and Parsing

 - More msg, less stack trace
master
Jacob Alexander 8 years ago
parent
commit
25c836048e
1 changed files with 7 additions and 3 deletions
  1. 7
    3
      kll.py

+ 7
- 3
kll.py View File

@@ -683,13 +683,17 @@ def parse( tokenSequence ):
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 ###