@@ -509,40 +509,35 @@ ALIGNTIME: 'ALIGNTIME';
509509// Must precede ID to avoid conflicts with identifier matching
510510PERCENTILE_SHORTCUT : PERC (INTEGER_LITERAL | DECIMAL_LITERAL ) | ' P' (INTEGER_LITERAL | DECIMAL_LITERAL );
511511
512- SPANLENGTH : [0-9]+ (
513- ' US' |' CS' |' DS'
514- |' MS' |' MILLISECOND' |' MILLISECONDS'
515- |' S' |' SEC' |' SECS' |' SECOND' |' SECONDS'
516- |' MIN' |' MINS' |' MINUTE' |' MINUTES'
517- |' H' |' HR' |' HRS' |' HOUR' |' HOURS'
518- |' H' |' HR' |' HRS' |' HOUR' |' HOURS'
519- |' D' |' DAY' |' DAYS'
520- |' W' |' WEEK' |' WEEKS'
521- |' M' |' MON' |' MONTH' |' MONTHS'
522- |' Q' |' QTR' |' QTRS' |' QUARTER' |' QUARTERS'
523- |' Y' |' YR' |' YRS' |' YEAR' |' YEARS'
524- );
512+ fragment DAY_OR_DOUBLE : ' D' ;
513+ fragment COMMON_TIME_UNIT : ' S' |' SEC' |' SECOND'
514+ |' M' |' MIN' |' MINUTE'
515+ |' H' |' HR' |' HOUR'
516+ |' DAY' |' W' |' WEEK'
517+ |' MON' |' MONTH'
518+ |' Q' |' QTR' |' QUARTER'
519+ |' Y' |' YR' |' YEAR' ;
520+ fragment PLURAL_UNIT : ' MILLISECONDS' |' SECS' |' SECONDS' |' MINS' |' MINUTES' |' HRS' |' HOURS'
521+ |' DAYS' |' MONTHS' |' QTRS' |' QUARTERS' |' YRS' |' YEARS' ;
522+ fragment SPANUNIT : COMMON_TIME_UNIT | PLURAL_UNIT
523+ |' US' |' CS' |' DS'
524+ |' MS' |' MILLISECOND' ;
525+ SPANLENGTH : DEC_DIGIT + (SPANUNIT | DAY_OR_DOUBLE );
526+ DECIMAL_SPANLENGTH : (DEC_DIGIT +)? ' .' DEC_DIGIT + SPANUNIT ;
525527
526528NUMERIC_ID : DEC_DIGIT + ID_LITERAL ;
527529
528530// LITERALS AND VALUES
529531// STRING_LITERAL: DQUOTA_STRING | SQUOTA_STRING | BQUOTA_STRING;
530532fragment WEEK_SNAP_UNIT : ' W' [0-7];
531- fragment TIME_SNAP_UNIT : ' S' | ' SEC' | ' SECOND'
532- | ' M' | ' MIN' | ' MINUTE'
533- | ' H' | ' HR' | ' HOUR' | ' HOURS'
534- | ' D' | ' DAY'
535- | ' W' | ' WEEK' | WEEK_SNAP_UNIT
536- | ' MON' | ' MONTH'
537- | ' Q' | ' QTR' | ' QUARTER'
538- | ' Y' | ' YR' | ' YEAR' ;
533+ fragment TIME_SNAP_UNIT : COMMON_TIME_UNIT | WEEK_SNAP_UNIT ;
539534TIME_SNAP : AT TIME_SNAP_UNIT ;
540535ID : ID_LITERAL ;
541536CLUSTER : CLUSTER_PREFIX_LITERAL ;
542537INTEGER_LITERAL : DEC_DIGIT +;
543538DECIMAL_LITERAL : (DEC_DIGIT +)? ' .' DEC_DIGIT +;
544539FLOAT_LITERAL : (DEC_DIGIT +)? ' .' DEC_DIGIT + ' F' ;
545- DOUBLE_LITERAL : (DEC_DIGIT +)? ' .' DEC_DIGIT + ' D ' ;
540+ DOUBLE_LITERAL : (DEC_DIGIT +)? ' .' DEC_DIGIT + DAY_OR_DOUBLE ;
546541
547542fragment DATE_SUFFIX : ([\-.][*0-9]+)+;
548543fragment CLUSTER_PREFIX_LITERAL : [*A -Z ]+?[*A -Z_ \-0-9]* COLON ;
0 commit comments