handle true and false keywords
handle uniary negation operator