HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/c_cpp.cpython-310.pyc
o

;j�G�@s�dZddlZddlmZmZmZmZmZmZm	Z	m
Z
ddlmZddl
mZmZmZmZmZmZmZmZmZddgZGdd	�d	e�ZGd
d�de�ZGdd�de�ZdS)z�
    pygments.lexers.c_cpp
    ~~~~~~~~~~~~~~~~~~~~~

    Lexers for C/C++ languages.

    :copyright: Copyright 2006-present 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@s�eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
e
�de�d�Zd
e
jdfde
jdfdedeee�e
j�dfdedeee�e
j�dfdedeeejee�fdefdefdefe
e
jfee
jfde
jfged�ed�deeje�dfdeejejejej�fded ed!ed"ed#ed$ejfd%ed ed!ed"ed&ed'ejfd(ed)ed*ed+ed,ejfd-eeejfd.eej fd/eej!fd0eeej"fd1e#fd2efd3ej$feefge%d4d5d6d7�e&j'fe%d8d6d9�e&j(fgd:ee&e�d;fd<e&d=fe%d>d6d9�e&fe%d?d6d9�e&j'fd@e&j'fe%dAd5d6d7�e&j'fgedB�ed�dCe	dDedEe	dEedFedGeee�eedBdH�ej)eedBdH�ee�eedBdH�ee�e�dIfdCe	dDedEe	dEedFedJeee�eedBdH�ej)eedBdH�ee�eedBdH�ee�e�fed�e*dK�gedB�edL�dMefdNedOfgedB�edL�dPefdQedRfdMedOfgdSedOfdTej+fdUefdefdVefgdCedWedXeee�e
jee�e
j,e
j�fdCedWedYeee�e
jee�e
j,e
j�fdZe
jfd[e
jfd\e
jdOfd]e
jfd^e
jfde
jdOfgd_e
jdRfd`e
jdOfdae
jdOfdbe
fgeej-dOfdcedOfe*dO�gddedOfeej.fedB�edL�gde�Z/hdf�Z0hdg�Z1hdh�Z2hdi�Z3djdk�Z4dpdmdn�Z5doS)q�CFamilyLexerzg
    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]?[zZ])|([zZ][uU])|([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])(')z0[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|nullptr)\b)Zint8Zint16Zint32Zint64�wchar_t�__�\b��prefix�suffix)�bool�intZlong�floatZshortZdouble�charZunsignedZsignedZvoidZ_BitIntZ__int128�r"z(struct|union)(\s+)�	classnamezcase\b�
case-value)!�asm�auto�break�constZ	constexpr�continuerZdo�else�enumZextern�forZgoto�if�registerZ
restricted�return�sizeof�structZstaticZswitchZtypedefZtypeofZ
typeof_unqualZvolatile�while�unionZthread_localZalignasZalignofZ
static_assertZ_PragmaZfortran)�inlineZ_inlineZ__inlineZnakedZrestrict�threadz(__m(128i|128d|128|64))\b)r*Zbased�exceptZstdcallZcdeclZfastcallZdeclspec�finally�tryZleaveZw64Z	unaligned�raiseZnoopZ
identifierZforceinlineZassume�null�
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(?<!:)(:)(?!:))r@rErr�rootrDrCrrrr(r)>Zsig_atomic_tZsize_tZclock_tZtime_tZva_listZfpos_tZwctype_tZ	ptrdiff_trZjmp_bufZ	wctrans_tZdiv_tZssize_tZldiv_t�FILE�DIRZwint_tZ	mbstate_tZoff_t>Zuint8_tZuint16_tZint64_tZintptr_tZ
int_least32_tZuint32_tZuint_least16_tZint_least8_tZuint64_tZint_fast32_tZ
uint_fast16_tZ	uintptr_tZint_fast8_tZ	uintmax_tZuint_least32_tZint32_tZint8_tZint_fast64_tZ
int_least64_tZint_fast16_tZ
int_least16_tZ
uint_least8_tZuint_least64_tZ
uint_fast64_tZintmax_tZ
uint_fast32_tZuint_fast8_tZint16_t>Zid_tZuid_tZgid_tZsigval_tZ	cpumask_tZsighandler_tZsigset_tZdev_tZ	cpu_set_tZtimer_tZpid_tZ	socklen_tZmode_tZino_tZsig_tZ	siginfo_tZ	clockid_tZnfds_tZrlim_tZkey_t>%Zatomic_longZ
atomic_intZatomic_int_fast64_tZatomic_uintZatomic_uint_least16_tZatomic_int_fast16_tZatomic_uint_least64_tZatomic_uint_least32_tZatomic_scharZ
atomic_ullongZatomic_intmax_tZatomic_boolZatomic_int_least8_tZatomic_uint_least8_tZatomic_int_least32_tZ
atomic_ushortZatomic_int_least64_tZatomic_uintmax_tZatomic_uint_fast16_tZatomic_int_least16_tZatomic_uint_fast32_tZatomic_char16_tZatomic_shortZatomic_uint_fast8_tZatomic_intptr_tZatomic_int_fast32_tZ
atomic_size_tZatomic_ulongZatomic_charZatomic_int_fast8_tZatomic_uintptr_tZatomic_ptrdiff_tZatomic_char32_tZatomic_llongZatomic_uint_fast64_tZatomic_wchar_tZatomic_ucharcKsNt|dd�|_t|dd�|_t|dd�|_t|dd�|_tj|fi|��dS)N�stdlibhighlightingT�c99highlighting�c11highlighting�platformhighlighting)r
rNrOrPrQr�__init__)�self�options�rU�I/opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/c_cpp.pyrR�s
zCFamilyLexer.__init__�rKccs��t�|||�D]>\}}}|tur@|jr||jvrtj}n#|jr)||jvr)tj}n|j	r5||j
vr5tj}n|jr@||jvr@tj}|||fVqdS)N)
r�get_tokens_unprocessedrrN�stdlib_typesr�TyperO�	c99_typesrP�c11_atomic_typesrQ�linux_types)rS�text�stack�index�token�valuerUrUrVrX�s���z#CFamilyLexer.get_tokens_unprocessedN)rW)6�__name__�
__module__�__qualname__�__doc__Z_ws1Z_hexpartZ_decpartZ
_intsuffix�_identZ_namespaced_identZ_comment_singleZ_comment_multilineZ_possible_commentsrZPreprocrrrrrZLabelrr�SingleZ	Multilinerr�AffixZCharrZFloatZHexZBin�OctZIntegerr
ZBuiltinr	r�ReservedrZZFunctionrZEscapeZPreprocFile�ClassZConstant�tokensrYr[r]r\rRrXrUrUrUrVrs�


�
�����������������������������������
����������

����������� ����	����

�


�
����&rc@sjeZdZdZdZdgZgd�Zgd�ZdZdZ	dZ
ed	d
d�efe
gedd
d�ejfe
gd
�Zdd�ZdS)ra�
    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)ztext/x-chdrztext/x-csrczimage/x-xbitmapzimage/x-xpixmapz6https://en.wikipedia.org/wiki/C_(programming_language)�皙�����?)Z_AlignasZ_AlignofZ	_NoreturnZ_CountofZ_GenericZ
_Thread_localZ_Static_assertZ
_ImaginaryZcountofZnoreturnZ	imaginary�complexrr')Z_BoolZ_ComplexZ_AtomicZ
_Decimal32Z
_Decimal64Z_Decimal128)rrcCs,t�d|tj�r
dSt�d|tj�rdSdS)Nz^\s*#include [<"]rqz
^\s*#ifn?def )�re�search�	MULTILINE�r^rUrUrV�analyse_text;s
�zCLexer.analyse_textN)rcrdrerf�name�aliases�	filenames�	mimetypes�url�
version_added�priorityr	rrrZrmrwrUrUrUrVrs*�����c
@seZdZdZdZdZddgZgd�ZddgZd	Z	d
Z
deej
eejejeeje�fegeedd
dd�ejfdejfged�eddd�efejejdfdedfed�gdeee�dfeddd�efdedfdeee�dfegdejfegdedfd ejfejejfed!�gd"�Zd#d$�Z d%S)&ra�
    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``).
    zC++zhttps://isocpp.org/Zcppzc++)z*.cppz*.hppz*.c++z*.h++z*.ccz*.hhz*.cxxz*.hxxz*.Cz*.Hz*.cpz*.CPPz*.tppz*.cppmz*.ixxz*.mxxz
text/x-c++hdrz
text/x-c++srcrprqz<((?:[LuU]|u8)?R)(")([^\\()\s]{,16})(\()((?:.|\n)*?)(\)\3)("))Zvirtual_inheritanceZuuidof�superZextendsZsingle_inheritanceZmultiple_inheritanceZ	interfaceZ
implements�eventr<r?rrr z#__(offload|blockingoffload|outer)\br@)�classr6r'rFrJz(class|concept|typename)(\s+)r()5ZcatchZ
const_cast�deleteZdynamic_castZexplicitZexportZfriendZmutable�new�operatorZprivateZ	protectedZpublicZreinterpret_castr�Z
__restrictZstatic_cast�templater�throwZthrowsr=ZtypeidrZvirtualZconceptZdecltypeZnoexcept�override�finalZ	constinitZ	constevalZco_awaitZ	co_returnZco_yieldZrequires�import�module�typename�andZand_eqZbitandZbitorZcompl�notZnot_eq�orZor_eq�xorZxor_eqZcontract_assertZpreZpostznamespace\b�	namespacez(enum)(\s+)�enumnamezchar(16_t|32_t|8_t)\bz[;{])rFrKzinline\brD)rErKr�rrr�cCs$t�d|�rdSt�d|�rdSdS)Nz#include <[a-z_]+>g�������?zusing namespace g�������?)rsrtrvrUrUrVrw�s
�zCppLexer.analyse_textN)!rcrdrerfrxr|ryrzr{r}r~rrriZ	Delimiterrr	rrkZPseudorrrgrrlrrrrZr�	NamespacermrwrUrUrUrVrBsd������
�

�
���
��7)rfrsZpygments.lexerrrrrrrrr	Z
pygments.utilr
Zpygments.tokenrrr
rrrrrr�__all__rrrrUrUrUrV�<module>s
(,y4