A natural language parser for validating complex date ranges