anchor.diff:      | Year uaSymbol Dash MonthDay uaSymbol?
       | Year uaSymbol? Dash partialMonth uaSymbol Dash Day
       //| Year uaSymbol? Dash partialMonth uaSymbol (Dash partialDay uaSymbol)? // works
  -    | YearMonth uaSymbol Dash partialDay uaSymbol
  -    | YearMonth uaSymbol Dash Day
  -    | YearMonth Dash partialDay uaSymbol // next one(?)
  +    | Year Dash Month uaSymbol Dash partialDay uaSymbol
  +    | Year Dash Month uaSymbol Dash Day
  +    | Year Dash Month Dash partialDay uaSymbol // next one(?)
       | Year Dash partialMonthDay uaSymbol
       | season uaSymbol
       ;
  
positive.code: QuestionMarkTilde : '?~';
  
  YearWithOneOrTwoUnspecifedDigits : Digit Digit (Digit | U) U;
  LongYearSimple : Y Dash? PositiveDigit Digit Digit Digit Digit+;
  
  // *************************  Level 1: Parser Rules  ************************ //
  
  level1Expression
      : uncertainOrApproxDate
      | unspecified
      | level1Interval
      | LongYearSimple
      | season;
  
  unspecified
      : YearWithOneOrTwoUnspecifedDigits
      | monthUnspecified
      | dayUnspecified
      | dayAndMonthUnspecified;
  
  monthUnspecified : Year Dash UU;
  dayUnspecified : YearMonth Dash UU;
  uncertainOrApproxDate : date uaSymbol;
  dayAndMonthUnspecified : Year Dash UU Dash UU;
  
  
negative.code: // ***********************   Level 0: Parser Rules   ************************ //
  
  level0Expression : date | dateTime | level0Interval;
  date : Year | Year Dash Month | YearMonthDay;
  dateTime : YearMonthDay T Time (Z | (Plus | Dash) ZOffset)?;
  
  // *******************  Level 0: Interval Parser Rules  ********************* //
  