made numeric token recognition more robust
added code to recognize negative numbers
added case to break when unrecognized token is found