public Parser acceptScreenFormat() {
        if (acceptScreenFormatParser == null) {
           FutureParser future = scoped("acceptScreenFormat");
           acceptScreenFormatParser = future;
           future.setParser(
               sequence(
                   choice(
                       token("OMITTED"),
                       identifier()
                   ),
                   optional(
                       unitPhrase()
                   ),
                   optional(
                       choice(
                           dtLineColPositioning(),
                           dtAtPositioning()
                       )
                   ),
                   optional(
                       sequence(
                           token("FROM"),
                           token("CRT")
                       )
                   ),
                   optional(
                       modeIsBlockPhrase()
                   ),
                   optional(
                       sequence(
                           token("WITH"),
                           plus(
                               screenEntryPhrase()
                           )
                       )
                   ),
                   optional(
                       choice(
                           onException(),
                           onEscape()
                       )
                   ),
                   optional(
                       choice(
                           notOnException(),
                           notOnEscape()
                       )
                   )
               )
           );
        }

        return acceptScreenFormatParser;
    }