
    5hF                         S r SSK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SKJrJrJrJrJrJrJrJrJr  SS/r " S S	\5      r " S
 S\5      r " S S\5      rg)z
pygments.lexers.c_cpp
~~~~~~~~~~~~~~~~~~~~~

Lexers for C/C++ languages.

:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupsusingthisinheritdefaultwords)get_bool_opt)	TextCommentOperatorKeywordNameStringNumberPunctuation
WhitespaceCLexerCppLexerc                   	   \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rS\ S\ S3rS\R                  S4S\R                  S4S\-   S-   \" \" \5      \R                  5      S4S\-   S-   \" \" \5      \R                  5      S4S\	-   S-   \" \\R*                  \\5      4S\4S\4S\4\\R0                  4\\R2                  4S\R2                  4/\" S5      \" S5      S\" \R8                  \5      S4S\" \R8                  \R:                  \R:                  \R:                  5      4S \-   S!-   \-   S"-   \-   S#-   \-   S$-   \-   S%-   \R>                  4S&\-   S!-   \-   S"-   \-   S#-   \-   S'-   \-   S(-   \R>                  4S)\-   S*-   \-   S+-   \-   S,-   \-   S--   \R>                  4S.\-   \-   \R@                  4S/\-   \RB                  4S0\-   \RD                  4S1\-   \-   \RF                  4S2\$4S3\4S4\RJ                  4\	\4/\&" S5S6S7S89\'RP                  4\&" S9S7S:9\'RR                  4/S;\" \'\5      S<4S=\'S>4\&" S?S7S:9\'4\&" S@S7S:9\'RP                  4SA\'RP                  4\&" SBS6S7S89\'RP                  4/\" SC5      \" S5      SD\
-   SE-   \-   SF-   \
-   SF-   \-   SG-   \-   SH-   \" \" \5      \" \SCSI9\RT                  \" \SCSI9\" \5      \" \SCSI9\" \5      \5      SJ4SD\
-   SE-   \-   SF-   \
-   SF-   \-   SG-   \-   SK-   \" \" \5      \" \SCSI9\RT                  \" \SCSI9\" \5      \" \SCSI9\" \5      \5      4\" S5      \+" SL5      /\" SC5      \" SM5      SN\4SO\SP4/\" SC5      \" SM5      SQ\4SR\SS4SN\SP4/ST\SP4SU\RX                  4SV\4S\4SW\4/SD\-   SX-   \-   SY-   \" \" \5      \R                  \" \5      \RZ                  \R0                  5      4SD\-   SX-   \-   SZ-   \" \" \5      \R                  \" \5      \RZ                  \R0                  5      4S[\R                  4S\\R2                  4S]\R0                  SP4S^\R                  4S_\R                  4S\R                  SP4/S`\R                  SS4Sa\R                  SP4Sb\R                  SP4Sc\4/\	\R\                  SP4Sd\SP4\+" SP5      /Se\SP4\	\R^                  4\" SC5      \" SM5      /Sf.r01 Sgkr11 Shkr21 Sikr31 Sjkr4Sk r5SoSl jr6Smr7gn)pCFamilyLexer   z[
For C family source code.  This is used as a base class to avoid repetitious
definitions.
z\s*(?:/[*].*?[*]/\s*)?z[0-9a-fA-F](\'?[0-9a-fA-F])*z
\d(\'?\d)*z!(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?z4(?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})+z7(?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|::)+z//(?:.|(?<=\\)\n)*\nz5/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/z\s*(?:(?:(?:z)|(?:z))\s*)*z^#if\s+0if0z^#macroz^(z
)(#if\s+0)z)(#)z4(^[ \t]*)(?!(?:public|private|protected|default)\b)(z)(\s*)(:)(?!:)z\nz[^\S\n]+z\\\nz/(\\\n)?[*][\w\W]*keywordstypesz([LuU]|u8)?(")stringzA([LuU]|u8)?(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')z0[xX](z\.z|\.|z
)[pP][+-]?z[lL]?z(-)?(z
)[eE][+-]?z[fFlL]?z(-)?((z\.(z)?|\.z)[fFlL]?)|(z[fFlL])z	(-)?0[xX]z(-)?0[bB][01](\'?[01])*z(-)?0(\'?[0-7])+z(-)?z[~!%^&*+=|?:<>/-]z
[()\[\],.]z(true|false|NULL)\b)int8int16int32int64wchar_t__\bprefixsuffix)boolintlongfloatshortdoublecharunsignedsignedvoid_BitInt__int128r)   z(struct|union)(\s+)	classnamezcase\b
case-value)asmautobreakconstcontinuer	   doelseenumexternforgotoifregister
restrictedreturnsizeofstructstaticswitchtypedefvolatilewhileunionthread_localalignasalignofstatic_assert_Pragma)inline_inline__inlinenakedrestrictthreadz(__m(128i|128d|128|64))\b)r9   basedexceptstdcallcdeclfastcalldeclspecfinallytryleavew64	unalignedraisenoop
identifierforceinlineassume
whitespace(z(?:[&*\s])+)(z)(z)(\([^;"\')]*?\))(z)([^;{/"\']*)(\{))statefunctionz)([^;/"\']*)(;)	statement
statementsz\}z[{;]#pop;z\{z#push"zO\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})z	[^\\"\n]+z\\z)(include)(z)("[^"]+")([^\n]*)z)(<[^>]+>)([^\n]*)z[^/\n]+z/[*](.|\n)*?[*]/z//.*?\n/z	(?<=\\)\nz^\s*#if.*?(?<!\\)\nz^\s*#el(?:se|if).*\nz^\s*#endif.*?(?<!\\)\nz.*?\n\s*(?=>)z(?<!:)(:)(?!:))rk   rp   r   r   rootro   rn   r   r   r   r7   r8   >   DIRFILEdiv_toff_tfpos_tldiv_tsize_ttime_twint_tclock_tjmp_bufssize_tva_listr$   wctype_t	mbstate_t	ptrdiff_t	wctrans_tsig_atomic_t>   int8_tint16_tint32_tint64_tuint8_tintmax_tintptr_tuint16_tuint32_tuint64_t	uintmax_t	uintptr_tint_fast8_tint_fast16_tint_fast32_tint_fast64_tint_least8_tuint_fast8_tint_least16_tint_least32_tint_least64_tuint_fast16_tuint_fast32_tuint_fast64_tuint_least8_tuint_least16_tuint_least32_tuint_least64_t>   id_tdev_tgid_tino_tkey_tpid_tsig_tuid_tmode_tnfds_trlim_ttimer_tsigset_tsigval_t	clockid_t	cpu_set_t	cpumask_t	siginfo_t	socklen_tsighandler_t>%   
atomic_intatomic_boolatomic_charatomic_longatomic_uintatomic_llongatomic_scharatomic_shortatomic_ucharatomic_ulongatomic_size_tatomic_ullongatomic_ushortatomic_wchar_tatomic_char16_tatomic_char32_tatomic_intmax_tatomic_intptr_tatomic_ptrdiff_tatomic_uintmax_tatomic_uintptr_tatomic_int_fast8_tatomic_int_fast16_tatomic_int_fast32_tatomic_int_fast64_tatomic_int_least8_tatomic_uint_fast8_tatomic_int_least16_tatomic_int_least32_tatomic_int_least64_tatomic_uint_fast16_tatomic_uint_fast32_tatomic_uint_fast64_tatomic_uint_least8_tatomic_uint_least16_tatomic_uint_least32_tatomic_uint_least64_tc                     [        USS5      U l        [        USS5      U l        [        USS5      U l        [        USS5      U l        [
        R                  " U 40 UD6  g )NstdlibhighlightingTc99highlightingc11highlightingplatformhighlighting)r   r   r   r   r   r   __init__)selfoptionss     `/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/pygments/lexers/c_cpp.pyr   CFamilyLexer.__init__   s^    ".w8Ld"S+G5FM+G5FM$0:PRV$W!D,G,    c              #     #    [         R                  " XU5       H  u  p4nU[        L a  U R                  (       a   XPR                  ;   a  [
        R                  nOU R                  (       a   XPR                  ;   a  [
        R                  nOaU R                  (       a   XPR                  ;   a  [
        R                  nO0U R                  (       a  XPR                  ;   a  [
        R                  nX4U4v   M     g 7f)N)r   get_tokens_unprocessedr   r   stdlib_typesr   Typer   	c99_typesr   c11_atomic_typesr   linux_types)r   textstackindextokenvalues         r   r   #CFamilyLexer.get_tokens_unprocessed   s     11$eD  E%}**u8I8I/I#LLE))e~~.E#LLE))e7L7L.L#LLE..5<L<L3L#LLE%% Es   C5C7)r   r   r   r   N))rv   )8__name__
__module____qualname____firstlineno____doc___ws1_hexpart_decpart
_intsuffix_ident_namespaced_ident_comment_single_comment_multiline_possible_commentsr   Preprocr   r   r   r   r   Labelr   r   Single	Multiliner   r   AffixCharr   FloatHexBinOctIntegerr   Builtinr
   r   Reservedr   Functionr	   EscapePreprocFileClassConstanttokensr   r   r   r   r   r   __static_attributes__ r   r   r   r      sn    %D /H H5J EFR .OQ )(9?Q>RRYZ
 '//517??G,D[=(eDk7??3U<D[6!eDk7??3W> 	 /	/
 j$**j+FH J*%dOgnn-!2!23"G$5$56/
4 JGv >IQfllFKKfkkJL !E)H4v=H,-/78:BCDJLLR  5(83f<xG$N%&(013=>?E||M!F*X5@&')124>?@FNH$z16::>'*4fjjA :-vzz:x*,fnn=!8,K(#T\\2TN-
2 A% "#*#3#35  (-/07>
 $Xgz%BKP. V
  !
 #*+  &+-.5.>.>@ *7+;+;< 7
 U,
 .5-=-=?
, L!J%% ) &'*%&) ''*
 ''
*!! eDk5\#BmmU4|%DDk5\#BDk;0  %% ) &'*%&) ''*
 ''
* eDk5\#BmmU4|%DDk5\#BDk;0
1 GK ;
@ L!L!K k6*	
 L!L!+K)K(
 66"<=C]]L6"fFO
 $Y~%d*+@@tgoouT{ ,,gnn>? $Y~%d*+@@tgoouT{ ,,gnn>? ) '"3"3407??#7??+GOOV,
 $W__g>$goov>&@w	
 TZZ($'FO	
 V4T]]#L!L!	
{cFJ8L:IAK
C-&r   r   c                       \ rS rSrSrSrS/r/ SQr/ SQrSr	Sr
S	r\" S
SS9\4\/\" SSS9\R                  4\/S.rS rSrg)r   i  a  
For C source code with preprocessor directives.

Additional options accepted:

`stdlibhighlighting`
    Highlight common types found in the C/C++ standard library (e.g. `size_t`).
    (default: ``True``).

`c99highlighting`
    Highlight common types found in the C99 standard library (e.g. `int8_t`).
    Actually, this includes all fixed-width integer types.
    (default: ``True``).

`c11highlighting`
    Highlight atomic types found in the C11 standard library (e.g. `atomic_bool`).
    (default: ``True``).

`platformhighlighting`
    Highlight common types found in the platform SDK headers (e.g. `clockid_t` on Linux).
    (default: ``True``).
Cc)z*.cz*.hz*.idcz*.x[bp]m)ztext/x-chdrztext/x-csrczimage/x-xbitmapzimage/x-xpixmapz6https://en.wikipedia.org/wiki/C_(programming_language) 皙?)
_Alignas_Alignof	_Noreturn_Generic_Thread_local_Static_assert
_Imaginarynoreturn	imaginarycomplexr&   r6   )_Bool_Complex_Atomic)r   r   c                     [         R                  " SU [         R                  5      (       a  g[         R                  " SU [         R                  5      (       a  gg )Nz^\s*#include [<"]r  z^\s*#ifn?def )research	MULTILINEr   s    r   analyse_textCLexer.analyse_text;  s=    99)4>>99%tR\\:: ;r   r  N)r   r   r   r   r   namealiases	filenames	mimetypesurlversion_addedpriorityr
   r   r   r   r  r0  r  r  r   r   r   r     s    , DeG3ITI
BCMH  T   '( 
 3EBGLLQ
Fr   c                   .   \ rS rSrSrSrSrSS/r/ SQrSS	/r	S
r
SrS\" \R                  \\R                  \R                  \\R                  \5      4\/\\" SSSS9\R&                  4S\R(                  4/\" S5      \" SSS9\4\R.                  \R2                  S4S\S4\" S5      /S\" \\5      S4\" SSS9\4S\S4S\" \\5      S4\/S\R:                  4\/S\S 4S!\R&                  4\R.                  \R>                  4\" S"5      /S#.r S$ r!S%r"g&)'r   iB  a  
For C++ source code with preprocessor directives.

Additional options accepted:

`stdlibhighlighting`
    Highlight common types found in the C/C++ standard library (e.g. `size_t`).
    (default: ``True``).

`c99highlighting`
    Highlight common types found in the C99 standard library (e.g. `int8_t`).
    Actually, this includes all fixed-width integer types.
    (default: ``True``).

`c11highlighting`
    Highlight atomic types found in the C11 standard library (e.g. `atomic_bool`).
    (default: ``True``).

`platformhighlighting`
    Highlight common types found in the platform SDK headers (e.g. `clockid_t` on Linux).
    (default: ``True``).
zC++zhttps://isocpp.org/cppzc++)z*.cppz*.hppz*.c++z*.h++z*.ccz*.hhz*.cxxz*.hxxz*.Cz*.Hz*.cpz*.CPPz*.tppztext/x-c++hdrztext/x-c++srcr  r  z<((?:[LuU]|u8)?R)(")([^\\()\s]{,16})(\()((?:.|\n)*?)(\)\3)("))virtual_inheritanceuuidofsupersingle_inheritancemultiple_inheritance	interfaceeventr%   r&   r'   z#__(offload|blockingoffload|outer)\brk   )classrI   r6   rq   ru   z(class|concept|typename)(\s+)r7   )4catch
const_castdeletedynamic_castexplicitexportfriendmutablenewoperatorprivate	protectedpublicreinterpret_castrB  
__restrictstatic_casttemplater   throwthrowsrb   typeidr   virtual	constexprnullptrconceptdecltypenoexceptoverridefinal	constinit	constevalco_await	co_returnco_yieldrequiresimportmoduletypenameandand_eqbitandbitorcomplnotnot_eqoror_eqxorxor_eqznamespace\b	namespacez(enum)(\s+)enumnamezchar(16_t|32_t|8_t)\bz[;{])rq   rv   zinline\bro   )rp   rv   rt  r   r   rs  c                 x    [         R                  " SU 5      (       a  g[         R                  " SU 5      (       a  gg )Nz#include <[a-z_]+>g?zusing namespace g?)r,  r-  r/  s    r   r0  CppLexer.analyse_text  s1    99)40099'.. /r   r  N)#r   r   r   r   r   r2  r6  r3  r4  r5  r7  r8  r   r   r  	Delimiterr   r
   r   r  Pseudor   r   r   r   r  r   r	   r   r   r   	Namespacer  r0  r  r  r   r   r   r   B  s   , D
CenG9I !/2IMH
 MfllFF,<,<f>N>Nf..89 
  B/070@0@B 4W^^D
 L!&u5w?  $**f5$'FO
 .x/LkZ 	: 
 &
' Wk2Xgz:JG
$ &w||4

 k#34'**+  $..1K 	
_5Fnr   )r   r,  pygments.lexerr   r   r   r   r   r   r	   r
   pygments.utilr   pygments.tokenr   r   r   r   r   r   r   r   r   __all__r   r   r   r  r   r   <module>r~     sf    
" " " &$ $ $ Z
 u&: u&p1\ 1h\| \r   