public Parser identifier() {
        if (identifierParser == null) {
           FutureParser future = scoped("identifier");
           identifierParser = future;
           future.setParser(
               choice(
                   identifier_format6(),
                   identifier_format1(),
                   identifier_format2(),
                   dataAddressIdentifier()
               )
           );
        }

        return identifierParser;
    }