@staticmethod<EOL><INDENT>def enablePackrat(cache_size_limit=<NUM_LIT>):<DEDENT>
if not ParserElement._packratEnabled:<EOL><INDENT>ParserElement._packratEnabled = True<EOL>if cache_size_limit is None:<EOL><INDENT>ParserElement.packrat_cache = ParserElement._UnboundedCache()<EOL><DEDENT>else:<EOL><INDENT>ParserElement.packrat_cache = ParserElement._FifoCache(cache_size_limit)<EOL><DEDENT>ParserElement._parse = ParserElement._parseCache<EOL><DEDENT>
Enables "packrat" parsing, which adds memoizing to the parsing logic.
           Repeated parse attempts at the same string location (which happens
           often in many complex grammars) can immediately return a cached value,
           instead of re-executing parsing/validating code.  Memoizing is done of
           both valid results and parsing exceptions.

           Parameters:

           - cache_size_limit - (default= ``128``) - if an integer value is provided
             will limit the size of the packrat cache; if None is passed, then
             the cache size will be unbounded; if 0 is passed, the cache will
             be effectively disabled.

           This speedup may break existing programs that use parse actions that
           have side-effects.  For this reason, packrat parsing is disabled when
           you first import pyparsing.  To activate the packrat feature, your
           program must call the class method :class:`ParserElement.enablePackrat`.
           For best results, call ``enablePackrat()`` immediately after
           importing pyparsing.

           Example::

               from pipenv.patched.notpip._vendor import pyparsing
               pyparsing.ParserElement.enablePackrat()