A Parser for Non-valid Dates

The Date Parser script in the examples section constructs a shallow parser for dates. It knows about the number of days for each month and about leap years. Study and run the script until you understand how the Date Parser works. Note that it will not recognize dates such as "February 29, 1900" but it will accept "February 29, 2000".

 Your task is to create a shallow parser that marks all dates that are not valid, such as, "February 29, 1900" and "April 31" with the HTML tags "<NON-DATE>" ... "</NON-DATE>",

 Add your definition(s) for NonDateParser to the end of the date.script above the Testing section and replace the line

push DateParser

 with

push NonDateParser

Once you are done with this first task, find a way to combine your NonDateParser with the original  DateParser so that valid dates get marked with <DATE> ... </DATE> tags and invalid dates get marked as <NON-DATE> ... </NON-DATE>.