anchor.diff:  	| OpenParen Year CloseParen Dash MonthDay UASymbol
   	;
   YearKnownMonthDayUAParenUA : OpenParen YearKnownMonthDayUA CloseParen UASymbol;
  -YearMonthKnownDayUA : Year Dash Month Dash OpenParen Day CloseParen UASymbol;
  +YearMonthKnownDayUA : YearMonth Dash OpenParen Day CloseParen UASymbol;
   YearMonthKnownDayUAParenUA : OpenParen YearMonthKnownDayUA CloseParen UASymbol;
   DayKnownYearMonthUA
  -	: Year Dash Month UASymbol Dash Day
  +	: YearMonth UASymbol Dash Day
   	| Year UASymbol Dash Month UASymbol Dash Day
   	;
   DayKnownYearMonthUAParenUA : OpenParen DayKnownYearMonthUA CloseParen UASymbol;
   YearKnownMonthUA : Year Dash OpenParen Month CloseParen UASymbol;
   YearKnownMonthUAParenUA : OpenParen YearKnownMonthUA CloseParen UASymbol;
  -YearMonthUA : Year UASymbol Dash OpenParen Month CloseParen UASymbol;
  -YearMonthUAParenUA : OpenParen YearMonthUA CloseParen UASymbol;
  -YearMonthDayUA : OpenParen Year CloseParen UASymbol Dash Month Dash Day UASymbol;
  -YearMonthDayUAParenUA : OpenParen YearMonthDayUA CloseParen UASymbol;
  +Level2YearMonthUA : Year UASymbol Dash OpenParen Month CloseParen UASymbol;
  +Level2YearMonthUAParenUA : OpenParen YearMonthUA CloseParen UASymbol;
  +Level2YearMonthDayUA : OpenParen Year CloseParen UASymbol Dash Month Dash Day UASymbol;
  +Level2YearMonthDayUAParenUA : OpenParen YearMonthDayUA CloseParen UASymbol;
   MonthKnownYearUA : Year UASymbol Dash Month;
   MonthKnownYearUAParenUA : OpenParen MonthKnownYearUA CloseParen UASymbol;
  -SeasonUA : Season UASymbol;
   
   // ***********************   Level 2: Parser Rules   ************************ //
   
  
positive.code: 
  level1Interval : (dateOrSeason | unknown) Slash (dateOrSeason | unknown | open);
  dateOrSeason
  	: Year UASymbol?
  	| Season UASymbol?
  	| Year Dash Month UASymbol?
  	| YearMonthDay UASymbol?
  	;
  
  //level1Interval
  //	: Year UASymbol Slash Year
  //	| Year Slash Year UASymbol
  //	| Year UASymbol Slash Year UASymbol
  //	| Year UASymbol Slash Year Dash Month
  //	| Year Slash Year Dash Month UASymbol
  //	| Year UASymbol Slash Year Dash Month UASymbol
  //	| Season UASymbol Slash Season
  	
  
  // **************************   Level 2: Tokens   *************************** //
  
negative.code: // ***********************   Level 0: Parser Rules   ************************ //
  
  level0Expression : date | dateTime | level0Interval;
  date : Year | YearMonth | YearMonthDay;
  dateTime : YearMonthDay T Time (Z | (Plus | Dash) ZOffset)?;
  
  // *******************  Level 0: Interval Parser Rules  ********************* //
  
  level0Interval : date Slash date;
  
  // ***************************   Level 1: Tokens   ************************** //
  
  