regexopt.pyc
1 o 2 ��c � @ sl d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ e� d�Z 3 ed�Zdd � Zd 4 d� Z dd d�ZdS )a 5 pygments.regexopt 6 ~~~~~~~~~~~~~~~~~ 7 8 An algorithm that generates optimized regexes for matching long lists of 9 literal strings. 10 11 :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS. 12 :license: BSD, see LICENSE for details. 13 � N)�escape)�commonprefix)�groupby)� 14 itemgetterz[\[\^\\\-\]]c C s dt �dd� d�| �� d S )N�[c S s d| � � S )N�\)�group)�m� r 15 ��C:\Users\Jacks.GUTTSPC\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pygments\regexopt.py�<lambda> s zmake_charset.<locals>.<lambda>� �])� CS_ESCAPE�sub�join)�lettersr 16 r 17 r �make_charset s r c s� |rdpd}| s 18 dS | d � t | �dkr|t� � | S � s-|t| dd� d� d | S t � �dkrlg }g }| D ]}t |�dkrG|�|� q9|�|� q9t |�dkrl|rd|t|d� d t|� | S |t|� | S t| �}|r�t |��|t|� t�fd d 19 �| D �d� | S dd 20 � | D �}t|�}|r�t |��|tt�fdd �| D ��d� t|ddd� � | S |d�dd � t| � fdd��D �� | S )zEReturn a regex that matches any string in the sorted list of strings.�)r r � Nz(?:�?�|c s g | ]}|� d � �qS �Nr 21 ��.0�s)�plenr 22 r � 23 <listcomp>? s z#regex_opt_inner.<locals>.<listcomp>c S s g | ] }|d d d� �qS )N�����r 24 r r 25 r 26 r r B s c 3 s � | ] 27 }|d � � V qd S r r 28 r )�slenr 29 r � <genexpr>H s � z"regex_opt_inner.<locals>.<genexpr>r c s s"