Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/make.cpython-37.pyc

B

ɽ�\��@s�dZddlZddlmZmZmZmZmZmZddl	m
Z
mZmZm
Z
mZmZmZddlmZdddgZGd	d�de�ZGd
d�de�ZGdd�de�ZdS)z�
    pygments.lexers.make
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Makefiles and similar.

    :copyright: Copyright 2006-2019 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)�	BashLexer�
MakefileLexer�BaseMakefileLexer�
CMakeLexerc@sZeZdZdZdZddddgZddddd	d
gZdgZe�	d�Z
e�	d
�Zdd�Zdd�Z
dS)rz�
    Lexer for BSD and GNU make extensions (lenient enough to handle both in
    the same file even).

    *Rewritten in Pygments 0.10.*
    �MakefileZmake�makefileZmfZbsdmakez*.makz*.mkz
Makefile.*ZGNUmakefileztext/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	cs�g}|�d�}d}tf|j�}d}xx|D]p}|j�|�s<|rh|�t|�dtj|fgf�|�	��
d�}q(|j�|�r�|�t|�dt|fgf�q(||7}q(Wxt||�
|��D]
}|Vq�WdS)NT�Fr�\)�
splitlinesr�options�	r_special�match�append�lenr	ZPreproc�strip�endswith�	r_commentr�get_tokens_unprocessed)	�self�textZins�lines�doneZlexZ
backslashflag�line�item�r'�E/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/make.pyr .s

z$MakefileLexer.get_tokens_unprocessedcCst�d|�rdSdS)Nz
\$\([A-Z_]+\)g�������?)�re�search)r"r'r'r(�analyse_text?szMakefileLexer.analyse_textN)�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypesr)�compilerrr r+r'r'r'r(rs
c@seZdZdZdZdgZgZgZdee	�fde
fdefdefde
e
e�d	fd
e
fde
ejeeeee	��fdejfd
ejfde
ejee�dfde
dfgdefdejfde
fde
dfde
dfgdejfdedfdefgdefdedfdefde
dfdefdedfdefgd�Zd S)!rzT
    Lexer for simple Makefiles (no preprocessing).

    .. versionadded:: 0.10
    z
Base MakefileZbasemakez^(?:[\t ]+.*\n|\n)+z\$[<@$+%?|*]z\s+z#.*?\nz(export)(\s+)(?=[\w${}\t -]+\n)�exportz	export\s+z7([\w${}().-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n)+|.*\n)z(?s)"(\\\\|\\.|[^"\\])*"z(?s)'(\\\\|\\.|[^'\\])*'z([^\n:]+)(:+)([ \t]*)zblock-headerz\$\(�	expansionz[^\w$().-]+z[\w.-]+z\$z\(z#pushz\)z#popz	[\w${}-]+z\nz[,|]z\\\nz
[a-zA-Z_]+�.)�rootr6r5zblock-headerN)r,r-r.r/r0r1r2r3rrrrr	rr�Variabler
r
�Double�SingleZFunctionr�tokensr'r'r'r(rEsD


c
@s�eZdZdZdZdgZddgZdgZdee	j
ee�dfe
d	�e
d
�gdedfd
edfdeee	je�fdeee	je�fdeee	je�fdejfdefdefdefe
d	�e
d
�ggdefgdefdefgd�Zdd�ZdS)rz\
    Lexer for `CMake <http://cmake.org/Wiki/CMake>`_ files.

    .. versionadded:: 1.2
    ZCMakeZcmakez*.cmakezCMakeLists.txtztext/x-cmakez\b(\w+)([ \t]*)(\()�args�keywords�wsz\(z#pushz\)z#popz(\$\{)(.+?)(\})z(\$ENV\{)(.+?)(\})z
(\$<)(.+?)(>)z	(?s)".*?"z\\\S+z
[^)$"# \t\n]+z\nz\\b(WIN32|UNIX|APPLE|CYGWIN|BORLAND|MINGW|MSVC|MSVC_IDE|MSVC60|MSVC70|MSVC71|MSVC80|MSVC90)\bz[ \t]+z#.*\n)r8r=�stringr>r?cCs$d}tj||tjtjBd�r dSdS)NzI^ *CMAKE_MINIMUM_REQUIRED *\( *VERSION *\d(\.\d)* *( FATAL_ERROR)? *\) *$)�flagsg�������?g)r)r*�	MULTILINE�
IGNORECASE)r"�expr'r'r(r+�szCMakeLexer.analyse_textN)r,r-r.r/r0r1r2r3rrZBuiltinrrrr
r9r
r:rr	r<r+r'r'r'r(r�s4
)r/r)Zpygments.lexerrrrrrrZpygments.tokenrr	r
rrr
rZpygments.lexers.shellr�__all__rrrr'r'r'r(�<module>
s $
.;