public Parser reportGroupDescriptionEntry_format3() {
        if (reportGroupDescriptionEntry_format3Parser == null) {
           FutureParser future = scoped("reportGroupDescriptionEntry_format3");
           reportGroupDescriptionEntry_format3Parser = future;
           future.setParser(
               sequence(
                   levelNumber(),
                   optional(
                       dataName()
                   ),
                   permuted(
                       picture(),
                       sequence(
                           token("USAGE"),
                           optional(
                               token("IS")
                           ),
                           choice(
                               token("DISPLAY"),
                               token("DISPLAY-1")
                           )
                       ),
                       sequence(
                           token("SIGN"),
                           optional(
                               token("IS")
                           ),
                           choice(
                               token("LEADING"),
                               token("TRAILING")
                           ),
                           token("SEPARATE"),
                           optional(
                               token("CHARACTER")
                           )
                       ),
                       sequence(
                           choice(
                               token("JUSTIFIED"),
                               token("JUST")
                           ),
                           optional(
                               token("RIGHT")
                           )
                       ),
                       sequence(
                           token("BLANK"),
                           optional(
                               token("WHEN")
                           ),
                           zero()
                       ),
                       sequence(
                           token("LINE"),
                           optional(
                               token("NUMBER")
                           ),
                           optional(
                               token("IS")
                           ),
                           choice(
                               sequence(
                                   integer(),
                                   optional(
                                       sequence(
                                           optional(
                                               token("ON")
                                           ),
                                           token("NEXT"),
                                           token("PAGE")
                                       )
                                   )
                               ),
                               sequence(
                                   token("PLUS"),
                                   integer()
                               ),
                               sequence(
                                   token("NEXT"),
                                   token("PAGE")
                               )
                           )
                       ),
                       sequence(
                           token("COLUMN"),
                           optional(
                               token("NUMBER")
                           ),
                           optional(
                               token("IS")
                           ),
                           integer()
                       ),
                       choice(
                           sequence(
                               token("SOURCE"),
                               optional(
                                   token("IS")
                               ),
                               identifier()
                           ),
                           sequence(
                               token("VALUE"),
                               optional(
                                   token("IS")
                               ),
                               literal()
                           ),
                           sequence(
                               sequence(
                                   token("SUM"),
                                   identifier(),
                                   optional(
                                       sequence(
                                           token("UPON"),
                                           plus(
                                               dataName()
                                           )
                                       )
                                   )
                               ),
                               optional(
                                   sequence(
                                       token("RESET"),
                                       optional(
                                           token("ON")
                                       ),
                                       choice(
                                           token("FINAL"),
                                           dataName()
                                       )
                                   )
                               )
                           )
                       ),
                       sequence(
                           token("GROUP"),
                           optional(
                               token("INDICATE")
                           )
                       )
                   ),
                   token(".")
               )
           );
        }

        return reportGroupDescriptionEntry_format3Parser;
    }