
    5h                         S r SSKrSSKJrJrJrJrJrJr  SSK	J
r
JrJrJrJrJrJrJr  SSKJr  / SQr " S S\5      r " S	 S
\5      r " S S\5      rg)z
pygments.lexers.make
~~~~~~~~~~~~~~~~~~~~

Lexers for Makefiles and similar.

:copyright: Copyright 2006-2025 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                       \ rS rSrSrSr/ SQr/ SQrS/rSr	Sr
\R                  " S	5      r\R                  " S
5      rS rS rSrg)r      z}
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*.mkr   r   z
Makefile.*GNUmakefileztext/x-makefile-https://en.wikipedia.org/wiki/Make_(software) z^(?:\.\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              #   :  #    / nUR                  SS9nSn[        S0 U R                  D6nSnU H  nU R                  R	                  U5      (       d  U(       aO  UR                  [        U5      S[        R                  U4/45        UR                  5       R                  S5      nMy  U R                  R	                  U5      (       a&  UR                  [        U5      S[        U4/45        M  XG-  nM     [        X%R                  U5      5       S h  vN   g  N7f)NT)keependsr   Fr   \ )
splitlinesr   options	r_specialmatchappendlenr
   Preprocstripendswith	r_commentr   get_tokens_unprocessed)selftextinslinesdonelexbackslashflaglines           _/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/pygments/lexers/make.pyr-   $MakefileLexer.get_tokens_unprocessed/   s     ./$,,/D~~##D))]

CIGOOT(B'CDE $

 5 5d ;%%d++

CIGT(:';<=  !&@&@&FGGGs   DDDDc                 >    [         R                  " SU 5      (       a  gg )Nz\$\([A-Z_]+\)g?)research)r/   s    r6   analyse_textMakefileLexer.analyse_text?   s    99%t,, -    r"   N)__name__
__module____qualname____firstlineno____doc__namealiases	filenames	mimetypesurlversion_addedr9   compiler%   r,   r-   r;   __static_attributes__r"   r=   r6   r   r      sX     D3GVI"#I
9CM

	%&I 

:&IH r=   r   c                      \ rS rSrSrSrS/r/ r/ rSr	Sr
S\" \5      4S\4S	\4S
\4S\" \\5      S4S\4S\" \R$                  \\\\" \5      5      4S\R*                  4S\R,                  4S\" \R.                  \\5      S4S\S4/S\4S\R$                  4S\4S\S4S\S4/S\R$                  4S\S4S	\4/S\4S
\S4S\4S\S4S \4S\S4S!\4/S".rS#rg$)%r   E   z0
Lexer for simple Makefiles (no preprocessing).
zBase Makefilebasemaker   z0.10z^(?:[\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_]+.)rootrP   rN   rO   r"   N)r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   r   r   r   r   r
   r   r   Variabler   r   DoubleSingleFunctionr	   r   tokensrJ   r"   r=   r6   r   r   E   s    DlGII
9CM
 $U9%56g&Z  6gz*H6 '*Gz8Zi "#
 )&--8(&--8%xx(5 g{+/
4 T"'GGW%GV$
 4==)D&!Z 
 k"(dOg{+D!J'4L
M/Fr=   r   c                      \ rS rSrSrSrSrS/rSS/rS/r	S	r
S
\" \R                  \\5      S4\" S5      \" S5      /S\S4S\S4S\" \\R$                  \5      4S\" \\R$                  \5      4S\" \\R$                  \5      4S\R(                  4S\4S\R*                  4S\4S\4\" S5      \" S5      // S\4/S\4S\4S\4/S.rS rS rg!)"r      z
Lexer for CMake files.
CMakez https://cmake.org/documentation/cmakez*.cmakezCMakeLists.txtztext/x-cmakez1.2z\b(\w+)([ \t]*)(\()argskeywordswsrQ   rR   rS   rT   z(\$\{)(.+?)(\})z(\$ENV\{)(.+?)(\})z(\$<)(.+?)(>)z	(?s)".*?"z\\\S+z'\[(?P<level>=*)\[[\w\W]*?\](?P=level)\]z[^)$"# \t\n]+rU   z\\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)rW   ra   stringrb   rc   c                 |    Sn[         R                  " X[         R                  [         R                  -  S9(       a  gg)Nzu^[ \t]*CMAKE_MINIMUM_REQUIRED[ \t]*\([ \t]*VERSION[ \t]*\d+(\.\d+)*[ \t]*([ \t]FATAL_ERROR)?[ \t]*\)[ \t]*(#[^\n]*)?$)flagsg?g        )r9   r:   	MULTILINE
IGNORECASE)r/   exps     r6   r;   CMakeLexer.analyse_text   s/     	 99SbllR]]&BCr=   r"   N)r>   r?   r@   rA   rB   rC   rG   rD   rE   rF   rH   r   r   Builtinr   r   r   r   rX   r   rY   	Multiliner   r
   r\   r;   rJ   r"   r=   r6   r   r      sF    D
,CiG,-I IM< $XdllJ.9&;<BDJDM=
B K)K((DMM8!LM"HXt}}h$OPx$--JK6==)v79I9IJv&JJDM

/079

 
#8'Bw
m;Fz	r=   r   )rB   r9   pygments.lexerr   r   r   r   r   r   pygments.tokenr	   r
   r   r   r   r   r   r   pygments.lexers.shellr   __all__r   r   r   r"   r=   r6   <module>rq      sX    
    +
>,E ,^;
 ;|Q Qr=   