def __init__(self, pretty_name: str = None, *, strict_matching: bool = False,<EOL>register_default_parsers: bool = True, logger: Logger = default_logger):
if not register_default_parsers:<EOL><INDENT>super(RootParser, self).__init__(pretty_name or '<STR_LIT>', strict_matching)<EOL><DEDENT>self.multifile_installed = register_default_parsers<EOL>self.default_parsers_installed = register_default_parsers<EOL>if register_default_parsers:<EOL><INDENT>assert len(self.get_all_parsers()) > <NUM_LIT:0><EOL><DEDENT>logger = logger or default_logger<EOL>check_var(logger, var_types=Logger, var_name='<STR_LIT>')<EOL>self.logger = logger<EOL>
Constructor. Initializes the dictionary of parsers with the optionally provided initial_parsers, and
inits the lock that will be used for access in multithreading context.

:param pretty_name:
:param strict_matching:
:param register_default_parsers:
:param logger: