Lexer, LocationAwareReader, Parser, TokenReader:
	- added close() method to close the underlying reader
	- small refractorings
Main:
	- closes the stream after lexing