public Parser programName() {
        if (programNameParser == null) {
           FutureParser future = scoped("programName");
           programNameParser = future;
           future.setParser(
               choice(
                   cobolWord(),
                   alphanumeric()
               )
           );
        }

        return programNameParser;
    }