HOME


Mini Shell 1.0
DIR: /usr/lib/python3/dist-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/make.cpython-312.pyc
�

|�e���dZddlZddlmZmZmZmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZddlmZgd�ZGd�de�ZGd	�d
e�ZGd�de�Zy)
z�
    pygments.lexers.make
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Makefiles and similar.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�Lexer�
RegexLexer�include�bygroups�
do_insertions�using)�Text�Comment�Operator�Keyword�Name�String�Punctuation�
Whitespace)�	BashLexer)�
MakefileLexer�BaseMakefileLexer�
CMakeLexerc�~�eZdZdZdZgd�Zgd�ZdgZejd�Z
ejd�Zd�Zd	�Z
y
)rz�
    Lexer for BSD and GNU make extensions (lenient enough to handle both in
    the same file even).

    *Rewritten in Pygments 0.10.*
    �Makefile)�make�makefile�mf�bsdmake)z*.makz*.mkrrz
Makefile.*�GNUmakefileztext/x-makefilez�^(?:\.\s*(include|undef|error|warning|if|else|elif|endif|for|endfor)|\s*(ifeq|ifneq|ifdef|ifndef|else|endif|-?include|define|endef|:|vpath)|\s*(if|else|endif))(?=\s)z^\s*@?#c#�K�g}|jd��}d}tdi|j��}d}|D]�}|jj	|�s|rN|jt
|�dtj|fgf�|j�jd�}�n|jj	|�r%|jt
|�dt|fgf���||z
}��t||j|��Ed{���y7��w)NT)�keepends�Fr�\�)�
splitlinesr�options�	r_special�match�append�lenr
�Preproc�strip�endswith�	r_commentr�get_tokens_unprocessed)�self�text�ins�lines�done�lex�
backslashflag�lines        �6/usr/lib/python3/dist-packages/pygments/lexers/make.pyr+z$MakefileLexer.get_tokens_unprocessed-s������������.�����/�$�,�,�/���
��	�D��~�~�#�#�D�)�]��
�
�C��I��G�O�O�T�(B�'C�D�E� $�
�
�� 5� 5�d� ;�
����%�%�d�+��
�
�C��I��G�T�(:�';�<�=�����	�!��c�&@�&@��&F�G�G�G�s�DD
�D�D
c�2�tjd|�ryy)Nz
\$\([A-Z_]+\)g�������?)�re�search)r-s r4�analyse_textzMakefileLexer.analyse_text=s��
�9�9�%�t�,��-�N)�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypesr6�compiler#r*r+r8r r9r4rrsR����D�3�G�V�I�"�#�I���
�
�	%�&�I���
�
�:�&�I�H� r9rc��eZdZdZdZdgZgZgZdee	�fde
fdefdefde
e
e�d	fd
e
fde
ejeeeee	��fdej$fd
ej&fde
ej(ee�dfde
dfgdefdejfde
fde
dfde
dfgdejfdedfdefgdefdedfdefde
dfdefdedfdefgd�Zy )!rzT
    Lexer for simple Makefiles (no preprocessing).

    .. versionadded:: 0.10
    z
Base Makefile�basemakez^(?:[\t ]+.*\n|\n)+z\$[<@$+%?|*]z\s+z#.*?\nz&((?:un)?export)(\s+)(?=[\w${}\t -]+\n)�exportz(?:un)?export\s+z7([\w${}().-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n)+|.*\n)z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*'z([^\n:]+)(:+)([ \t]*)�block-headerz\$\(�	expansionz[^\w$().-]+z[\w.-]+z\$�\(�#push�\)�#popz	[\w${}-]+�\nz[,|]z\\\nz
[a-zA-Z_]+�.)�rootrGrErFN)r:r;r<r=r>r?r@rArrrrr
rr
�Variablerr�Double�Single�Functionr	r�tokensr r9r4rrCsv����D��l�G��I��I�
$�U�9�%5�6�
�g�&�
�Z� �
�� �
6�
�g�z�
*�H�
6�
 �'�*�
G�
��
�
�z�8�Z��i� �"�
#�
)�&�-�-�8�
(�&�-�-�8�
%�x��
�
�x��(5�
�
��g�{�+�/
�4�T�"�
����'�
�G��
�G�W�%�
�G�V�$�
��4�=�=�)�
�D�&�!�
�Z� �
��k�"�
���(�
�d�O�
�g�{�+�
�D�!�
�J��'�
�4�L�
�M/�Fr9rc��eZdZdZdZdZdgZddgZdgZde	e
jee
�d	fed
�ed�gde
d
fde
dfde	ee
j e�fde	ee
j e�fde	ee
j e�fdej$fdefdej&fdefdefed
�ed�ggdefgdefdefdefgd�Zd�Zy)rz;
    Lexer for CMake files.

    .. versionadded:: 1.2
    �CMakez https://cmake.org/documentation/�cmakez*.cmakezCMakeLists.txtztext/x-cmakez\b(\w+)([ \t]*)(\()�args�keywords�wsrHrIrJrKz(\$\{)(.+?)(\})z(\$ENV\{)(.+?)(\})z
(\$<)(.+?)(>)z	(?s)".*?"z\\\S+z'\[(?P<level>=*)\[[\w\W]*?\](?P=level)\]z
[^)$"# \t\n]+rLz\\b(WIN32|UNIX|APPLE|CYGWIN|BORLAND|MINGW|MSVC|MSVC_IDE|MSVC60|MSVC70|MSVC71|MSVC80|MSVC90)\bz[ \t]+z(#\[(?P<level>=*)\[[\w\W]*?\](?P=level)\]z#.*\n)rNrW�stringrXrYc�x�d}tj||tjtjz��ryy)Nzu^[ \t]*CMAKE_MINIMUM_REQUIRED[ \t]*\([ \t]*VERSION[ \t]*\d+(\.\d+)*[ \t]*([ \t]FATAL_ERROR)?[ \t]*\)[ \t]*(#[^\n]*)?$)�flagsg�������?g)r6r7�	MULTILINE�
IGNORECASE)r-�exps  r4r8zCMakeLexer.analyse_text�s1��
�	��9�9�S�$�b�l�l�R�]�]�&B�C��r9N)r:r;r<r=r>�urlr?r@rArr
�BuiltinrrrrrOrrP�	Multilinerr
rSr8r r9r4rr�sA���
�D�
,�C��i�G��,�-�I�� �I�<$�X�d�l�l�J�.9�&;�<B�
D��J���D�M�=
�B�K��)�
�K��(�
��(�D�M�M�8�!L�M�
"�H�X�t�}�}�h�$O�P�
�x��$�-�-��J�K�
�6�=�=�)�
�v��
7��9I�9I�J�
�v�&�
�J���J���D�M�

�
�/�07�
9�
�
�
�#�
8�'�B�
�w��
�m;�F�z	r9r)r=r6�pygments.lexerrrrrrr�pygments.tokenr	r
rrr
rrr�pygments.lexers.shellr�__all__rrrr r9r4�<module>rgsX���
������+�
>��*�E�*�Z;�
�;�|R��Rr9