public Parser fdFileDescriptionEntry() {
        if (fdFileDescriptionEntryParser == null) {
           FutureParser future = scoped("fdFileDescriptionEntry");
           fdFileDescriptionEntryParser = future;
           future.setParser(
               sequence(
                   token("FD"),
                   fileName(),
                   permuted(
                       blockContains(),
                       codeSet(),
                       dataRecords(),
                       external(),
                       global(),
                       threadLocalClause(),
                       labelRecords(),
                       linage(),
                       record(),
                       recordingMode(),
                       valueOfFileId(),
                       valueOf(),
                       report()
                   ),
                   skipto(
                       token(".")
                   ),
                   token(".")
               )
           );
        }

        return fdFileDescriptionEntryParser;
    }