public Parser acceptFromDate() {
        if (acceptFromDateParser == null) {
           FutureParser future = scoped("acceptFromDate");
           acceptFromDateParser = future;
           future.setParser(
               sequence(
                   identifier_format2(),
                   token("FROM"),
                   choice(
                       sequence(
                           token("DATE"),
                           optional(
                               choice(
                                   token("YYYYMMDD"),
                                   token("CENTURY-DATE")
                               )
                           )
                       ),
                       sequence(
                           token("DAY"),
                           optional(
                               choice(
                                   token("YYYYDDD"),
                                   token("CENTURY-DAY")
                               )
                           )
                       ),
                       token("DAY-OF-WEEK"),
                       token("TIME"),
                       token("YEAR"),
                       token("YYYYMMDD"),
                       token("CENTURY-DATE"),
                       token("YYYYDDD"),
                       token("CENTURY-DAY")
                   )
               )
           );
        }

        return acceptFromDateParser;
    }