Your IP : 216.73.216.213
B
ɽ�\� � @ s� d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZ ddlmZ dddgZG d d� de�ZG d
d� de�ZG dd� 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 @ sZ e Zd ZdZdZddddgZddddd d
gZdgZe� d�Z
e� d
�Zdd� Zdd� Z
dS )r z�
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 c s� 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(W xt||�
|��D ]
}|V q�W d S )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'