710
710
static const KeyWord DCH_keywords[] = {
711
711
/* name, len, id, is_digit, date_mode */
712
{"A.D.", 4, DCH_A_D, FALSE, FROM_CHAR_DATE_NONE}, /* A */
712
{"A.D.", 4, DCH_A_D, FALSE, FROM_CHAR_DATE_NONE}, /* A */
713
713
{"A.M.", 4, DCH_A_M, FALSE, FROM_CHAR_DATE_NONE},
714
714
{"AD", 2, DCH_AD, FALSE, FROM_CHAR_DATE_NONE},
715
715
{"AM", 2, DCH_AM, FALSE, FROM_CHAR_DATE_NONE},
716
{"B.C.", 4, DCH_B_C, FALSE, FROM_CHAR_DATE_NONE}, /* B */
716
{"B.C.", 4, DCH_B_C, FALSE, FROM_CHAR_DATE_NONE}, /* B */
717
717
{"BC", 2, DCH_BC, FALSE, FROM_CHAR_DATE_NONE},
718
{"CC", 2, DCH_CC, TRUE, FROM_CHAR_DATE_NONE}, /* C */
719
{"DAY", 3, DCH_DAY, FALSE, FROM_CHAR_DATE_NONE}, /* D */
718
{"CC", 2, DCH_CC, TRUE, FROM_CHAR_DATE_NONE}, /* C */
719
{"DAY", 3, DCH_DAY, FALSE, FROM_CHAR_DATE_NONE}, /* D */
720
720
{"DDD", 3, DCH_DDD, TRUE, FROM_CHAR_DATE_GREGORIAN},
721
721
{"DD", 2, DCH_DD, TRUE, FROM_CHAR_DATE_GREGORIAN},
722
722
{"DY", 2, DCH_DY, FALSE, FROM_CHAR_DATE_NONE},
723
723
{"Day", 3, DCH_Day, FALSE, FROM_CHAR_DATE_NONE},
724
724
{"Dy", 2, DCH_Dy, FALSE, FROM_CHAR_DATE_NONE},
725
725
{"D", 1, DCH_D, TRUE, FROM_CHAR_DATE_GREGORIAN},
726
{"FX", 2, DCH_FX, FALSE, FROM_CHAR_DATE_NONE}, /* F */
727
{"HH24", 4, DCH_HH24, TRUE, FROM_CHAR_DATE_NONE}, /* H */
726
{"FX", 2, DCH_FX, FALSE, FROM_CHAR_DATE_NONE}, /* F */
727
{"HH24", 4, DCH_HH24, TRUE, FROM_CHAR_DATE_NONE}, /* H */
728
728
{"HH12", 4, DCH_HH12, TRUE, FROM_CHAR_DATE_NONE},
729
729
{"HH", 2, DCH_HH, TRUE, FROM_CHAR_DATE_NONE},
730
{"IDDD", 4, DCH_IDDD, TRUE, FROM_CHAR_DATE_ISOWEEK}, /* I */
730
{"IDDD", 4, DCH_IDDD, TRUE, FROM_CHAR_DATE_ISOWEEK}, /* I */
731
731
{"ID", 2, DCH_ID, TRUE, FROM_CHAR_DATE_ISOWEEK},
732
732
{"IW", 2, DCH_IW, TRUE, FROM_CHAR_DATE_ISOWEEK},
733
733
{"IYYY", 4, DCH_IYYY, TRUE, FROM_CHAR_DATE_ISOWEEK},
734
734
{"IYY", 3, DCH_IYY, TRUE, FROM_CHAR_DATE_ISOWEEK},
735
735
{"IY", 2, DCH_IY, TRUE, FROM_CHAR_DATE_ISOWEEK},
736
736
{"I", 1, DCH_I, TRUE, FROM_CHAR_DATE_ISOWEEK},
737
{"J", 1, DCH_J, TRUE, FROM_CHAR_DATE_NONE}, /* J */
738
{"MI", 2, DCH_MI, TRUE, FROM_CHAR_DATE_NONE}, /* M */
737
{"J", 1, DCH_J, TRUE, FROM_CHAR_DATE_NONE}, /* J */
738
{"MI", 2, DCH_MI, TRUE, FROM_CHAR_DATE_NONE}, /* M */
739
739
{"MM", 2, DCH_MM, TRUE, FROM_CHAR_DATE_GREGORIAN},
740
740
{"MONTH", 5, DCH_MONTH, FALSE, FROM_CHAR_DATE_GREGORIAN},
741
741
{"MON", 3, DCH_MON, FALSE, FROM_CHAR_DATE_GREGORIAN},
742
742
{"MS", 2, DCH_MS, TRUE, FROM_CHAR_DATE_NONE},
743
743
{"Month", 5, DCH_Month, FALSE, FROM_CHAR_DATE_GREGORIAN},
744
744
{"Mon", 3, DCH_Mon, FALSE, FROM_CHAR_DATE_GREGORIAN},
745
{"P.M.", 4, DCH_P_M, FALSE, FROM_CHAR_DATE_NONE}, /* P */
745
{"P.M.", 4, DCH_P_M, FALSE, FROM_CHAR_DATE_NONE}, /* P */
746
746
{"PM", 2, DCH_PM, FALSE, FROM_CHAR_DATE_NONE},
747
{"Q", 1, DCH_Q, TRUE, FROM_CHAR_DATE_NONE}, /* Q */
748
{"RM", 2, DCH_RM, FALSE, FROM_CHAR_DATE_GREGORIAN}, /* R */
749
{"SSSS", 4, DCH_SSSS, TRUE, FROM_CHAR_DATE_NONE}, /* S */
747
{"Q", 1, DCH_Q, TRUE, FROM_CHAR_DATE_NONE}, /* Q */
748
{"RM", 2, DCH_RM, FALSE, FROM_CHAR_DATE_GREGORIAN}, /* R */
749
{"SSSS", 4, DCH_SSSS, TRUE, FROM_CHAR_DATE_NONE}, /* S */
750
750
{"SS", 2, DCH_SS, TRUE, FROM_CHAR_DATE_NONE},
751
{"TZ", 2, DCH_TZ, FALSE, FROM_CHAR_DATE_NONE}, /* T */
752
{"US", 2, DCH_US, TRUE, FROM_CHAR_DATE_NONE}, /* U */
753
{"WW", 2, DCH_WW, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* W */
751
{"TZ", 2, DCH_TZ, FALSE, FROM_CHAR_DATE_NONE}, /* T */
752
{"US", 2, DCH_US, TRUE, FROM_CHAR_DATE_NONE}, /* U */
753
{"WW", 2, DCH_WW, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* W */
754
754
{"W", 1, DCH_W, TRUE, FROM_CHAR_DATE_GREGORIAN},
755
{"Y,YYY", 5, DCH_Y_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN},/* Y */
755
{"Y,YYY", 5, DCH_Y_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* Y */
756
756
{"YYYY", 4, DCH_YYYY, TRUE, FROM_CHAR_DATE_GREGORIAN},
757
757
{"YYY", 3, DCH_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN},
758
758
{"YY", 2, DCH_YY, TRUE, FROM_CHAR_DATE_GREGORIAN},
759
759
{"Y", 1, DCH_Y, TRUE, FROM_CHAR_DATE_GREGORIAN},
760
{"a.d.", 4, DCH_a_d, FALSE, FROM_CHAR_DATE_NONE}, /* a */
760
{"a.d.", 4, DCH_a_d, FALSE, FROM_CHAR_DATE_NONE}, /* a */
761
761
{"a.m.", 4, DCH_a_m, FALSE, FROM_CHAR_DATE_NONE},
762
762
{"ad", 2, DCH_ad, FALSE, FROM_CHAR_DATE_NONE},
763
763
{"am", 2, DCH_am, FALSE, FROM_CHAR_DATE_NONE},
764
{"b.c.", 4, DCH_b_c, FALSE, FROM_CHAR_DATE_NONE}, /* b */
764
{"b.c.", 4, DCH_b_c, FALSE, FROM_CHAR_DATE_NONE}, /* b */
765
765
{"bc", 2, DCH_bc, FALSE, FROM_CHAR_DATE_NONE},
766
{"cc", 2, DCH_CC, TRUE, FROM_CHAR_DATE_NONE}, /* c */
767
{"day", 3, DCH_day, FALSE, FROM_CHAR_DATE_NONE}, /* d */
766
{"cc", 2, DCH_CC, TRUE, FROM_CHAR_DATE_NONE}, /* c */
767
{"day", 3, DCH_day, FALSE, FROM_CHAR_DATE_NONE}, /* d */
768
768
{"ddd", 3, DCH_DDD, TRUE, FROM_CHAR_DATE_GREGORIAN},
769
769
{"dd", 2, DCH_DD, TRUE, FROM_CHAR_DATE_GREGORIAN},
770
770
{"dy", 2, DCH_dy, FALSE, FROM_CHAR_DATE_NONE},
771
771
{"d", 1, DCH_D, TRUE, FROM_CHAR_DATE_GREGORIAN},
772
{"fx", 2, DCH_FX, FALSE, FROM_CHAR_DATE_NONE}, /* f */
773
{"hh24", 4, DCH_HH24, TRUE, FROM_CHAR_DATE_NONE}, /* h */
772
{"fx", 2, DCH_FX, FALSE, FROM_CHAR_DATE_NONE}, /* f */
773
{"hh24", 4, DCH_HH24, TRUE, FROM_CHAR_DATE_NONE}, /* h */
774
774
{"hh12", 4, DCH_HH12, TRUE, FROM_CHAR_DATE_NONE},
775
775
{"hh", 2, DCH_HH, TRUE, FROM_CHAR_DATE_NONE},
776
{"iddd", 4, DCH_IDDD, TRUE, FROM_CHAR_DATE_ISOWEEK}, /* i */
776
{"iddd", 4, DCH_IDDD, TRUE, FROM_CHAR_DATE_ISOWEEK}, /* i */
777
777
{"id", 2, DCH_ID, TRUE, FROM_CHAR_DATE_ISOWEEK},
778
778
{"iw", 2, DCH_IW, TRUE, FROM_CHAR_DATE_ISOWEEK},
779
779
{"iyyy", 4, DCH_IYYY, TRUE, FROM_CHAR_DATE_ISOWEEK},
780
780
{"iyy", 3, DCH_IYY, TRUE, FROM_CHAR_DATE_ISOWEEK},
781
781
{"iy", 2, DCH_IY, TRUE, FROM_CHAR_DATE_ISOWEEK},
782
782
{"i", 1, DCH_I, TRUE, FROM_CHAR_DATE_ISOWEEK},
783
{"j", 1, DCH_J, TRUE, FROM_CHAR_DATE_NONE}, /* j */
784
{"mi", 2, DCH_MI, TRUE, FROM_CHAR_DATE_NONE}, /* m */
783
{"j", 1, DCH_J, TRUE, FROM_CHAR_DATE_NONE}, /* j */
784
{"mi", 2, DCH_MI, TRUE, FROM_CHAR_DATE_NONE}, /* m */
785
785
{"mm", 2, DCH_MM, TRUE, FROM_CHAR_DATE_GREGORIAN},
786
786
{"month", 5, DCH_month, FALSE, FROM_CHAR_DATE_GREGORIAN},
787
787
{"mon", 3, DCH_mon, FALSE, FROM_CHAR_DATE_GREGORIAN},
788
788
{"ms", 2, DCH_MS, TRUE, FROM_CHAR_DATE_NONE},
789
{"p.m.", 4, DCH_p_m, FALSE, FROM_CHAR_DATE_NONE}, /* p */
789
{"p.m.", 4, DCH_p_m, FALSE, FROM_CHAR_DATE_NONE}, /* p */
790
790
{"pm", 2, DCH_pm, FALSE, FROM_CHAR_DATE_NONE},
791
{"q", 1, DCH_Q, TRUE, FROM_CHAR_DATE_NONE}, /* q */
792
{"rm", 2, DCH_rm, FALSE, FROM_CHAR_DATE_GREGORIAN}, /* r */
793
{"ssss", 4, DCH_SSSS, TRUE, FROM_CHAR_DATE_NONE}, /* s */
791
{"q", 1, DCH_Q, TRUE, FROM_CHAR_DATE_NONE}, /* q */
792
{"rm", 2, DCH_rm, FALSE, FROM_CHAR_DATE_GREGORIAN}, /* r */
793
{"ssss", 4, DCH_SSSS, TRUE, FROM_CHAR_DATE_NONE}, /* s */
794
794
{"ss", 2, DCH_SS, TRUE, FROM_CHAR_DATE_NONE},
795
{"tz", 2, DCH_tz, FALSE, FROM_CHAR_DATE_NONE}, /* t */
796
{"us", 2, DCH_US, TRUE, FROM_CHAR_DATE_NONE}, /* u */
797
{"ww", 2, DCH_WW, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* w */
795
{"tz", 2, DCH_tz, FALSE, FROM_CHAR_DATE_NONE}, /* t */
796
{"us", 2, DCH_US, TRUE, FROM_CHAR_DATE_NONE}, /* u */
797
{"ww", 2, DCH_WW, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* w */
798
798
{"w", 1, DCH_W, TRUE, FROM_CHAR_DATE_GREGORIAN},
799
{"y,yyy", 5, DCH_Y_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN},/* y */
799
{"y,yyy", 5, DCH_Y_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN}, /* y */
800
800
{"yyyy", 4, DCH_YYYY, TRUE, FROM_CHAR_DATE_GREGORIAN},
801
801
{"yyy", 3, DCH_YYY, TRUE, FROM_CHAR_DATE_GREGORIAN},
802
802
{"yy", 2, DCH_YY, TRUE, FROM_CHAR_DATE_GREGORIAN},