anchor.diff:  Digit : PositiveDigit | '0';
   PositiveDigit : '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';
   
  -Month : OneThru12;
  -MonthDay
  +month : OneThru12;
  +monthDay
       : ( '01' | '03' | '05' | '07' | '08' | '10' | '12' ) Dash OneThru31
       | ( '04' | '06' | '09' | '11' ) Dash OneThru30
       | '02' Dash OneThru29
       ;
   
  -YearMonth : Year Dash Month;
  -YearMonthDay : Year Dash MonthDay;
  -Day : OneThru31;
  +yearMonth : year Dash month;
  +yearMonthDay : year Dash monthDay;
  +day : OneThru31;
   
   Hour : ZeroThru23;
   Minute : ZeroThru59;
  
positive.code:     | dayUnspecified
      | dayAndMonthUnspecified;
  
  monthUnspecified : Year Dash UU;
  dayUnspecified : YearMonth Dash UU;
  uncertainOrApproxDate : date uaSymbol;
  dayAndMonthUnspecified : Year Dash UU Dash UU;
  
  season : Year Dash seasonNumber;
  seasonNumber : '21' | '22' | '23' | '24';
  uaSymbol : QuestionMark | Tilde | QuestionMarkTilde;
  
  
negative.code: // ***********************   Level 0: Parser Rules   ************************ //
  
  level0Expression : date | dateTime | l0Interval;
  date : year | yearMonth | yearMonthDay;
  dateTime : yearMonthDay T Time;
  
  // ********************  Level 0: Interval Parser Rules  ******************** //
  
  