I want to parse few date format using following ANTLR4 grammar.
grammar Variables;
//varTable : tableNameFormat dateFormat? ;
//tableNameFormat: (ID SEPERATOR);
dateFormat : YEAR UNDERSCORE MONTH UNDERSCORE TODAY
| YEAR
;
YEAR : DIGIT DIGIT DIGIT DIGIT; // 4-digits YYYY
MONTH : DIGIT DIGIT; // 2-digits MM
TODAY : DIGIT DIGIT ; // 2-digits DD
UNDERSCORE: ('_' | '-' );
fragment
DIGIT : [0-9] ;
ID : [a-zA-Z][a-zA-Z0-9]? ;
WS : [ \t\r\n]+ -> skip ;
This grammar should parse "2016-01-01" easily but it's giving input mismatch. Please help