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__/c_cpp.cpython-37.pyc

B

ɽ�\)�@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-2019 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�Error�CLexer�CppLexerc@s�eZdZdZdZdZdejdfdejdfded	ee	e
�ej�dfded
ee	e
�ej�dfdefdefd
efdejfdej
fdej
fg
deeje�dfdeejejejej�fdejfdejfdejfdejfdejfdefdefdefeddd�efdejfed dd�ejfd!ejfed"d#dd$�ejfd%ejfd&eejee�fd'efge d(�d)ee	e
�ej!e	e
�e	e
�e�d*fd+ee	e
�ej!e	e
�e	e
�e�fe"d,�ge d(�e d-�d.efd/ed0fge d(�e d-�d/efd1ed2fd3ed0fgd4ed0fd5ej#fd6efd
efd7efgd8ed9eejeej$�fd:ejfd;ej
fd<ejd0fd=ejfd>ejfdejd0fgd?ejd2fd@ejd0fdAejd0fdBefgdC�Z%e&dD�Z'e&dE�Z(e&dF�Z)dGdH�Z*dIdJ�Z+dKS)L�CFamilyLexerzg
    For C family source code.  This is used as a base class to avoid repetitious
    definitions.
    z(?:\s|//.*?\n|/[*].*?[*]/)+z\s*(?:/[*].*?[*]/\s*)?z^#if\s+0�if0z^#�macroz^(z
)(#if\s+0)z)(#)z\nz\s+z\\\nz//(\n|[\w\W]*?[^\\]\n)z/(\\\n)?[*][\w\W]*?[*](\\\n)?/z/(\\\n)?[*][\w\W]*z(L?)(")�stringz:(L?)(')(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])(')z'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z0x[0-9a-fA-F]+[LlUu]*z0[0-7]+[LlUu]*z
\d+[LlUu]*z\*/z[~!%^&*+=|?:<>/-]z
[()\[\],.])�asm�auto�breakZcase�const�continuerZdo�else�enum�extern�forZgoto�if�registerZ
restricted�return�sizeof�static�struct�switchZtypedef�unionZvolatile�whilez\b)�suffixz>(bool|int|long|float|short|double|char|unsigned|signed|void)\b)�inlineZ_inlineZ__inlineZnaked�restrict�thread�typenamez(__m(128i|128d|128|64))\b)rZint8Zbased�exceptZint16ZstdcallZcdeclZfastcallZint32Zdeclspec�finallyZint64�tryZleave�wchar_tZw64Z	unaligned�raiseZnoop�
identifierZforceinlineZassume�__)�prefixr,z(true|false|NULL)\bz([a-zA-Z_]\w*)(\s*)(:)(?!:)z[a-zA-Z_]\w*�
whitespacezB((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;{]*)(\{)�functionz@((?:[\w*\s])+?(?:\s|[*]))([a-zA-Z_]\w*)(\s*\([^;]*?\))([^;]*)(;)�	statement�
statementsz[{}]�;z#popz\{z#pushz\}�"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	(?<=\\)\nz^\s*#if.*?(?<!\\)\nz^\s*#el(?:se|if).*\nz^\s*#endif.*?(?<!\\)\nz.*?\n)r9r<�rootr;r:rrr)Zsize_tZssize_tZoff_tr4Z	ptrdiff_tZsig_atomic_tZfpos_tZclock_tZtime_tZva_listZjmp_bufZFILEZDIRZdiv_tZldiv_tZ	mbstate_tZ	wctrans_tZwint_tZwctype_t)Z_BoolZ_ComplexZint8_tZint16_tZint32_tZint64_tZuint8_tZuint16_tZuint32_tZuint64_tZint_least8_tZ
int_least16_tZ
int_least32_tZ
int_least64_tZ
uint_least8_tZuint_least16_tZuint_least32_tZuint_least64_tZint_fast8_tZint_fast16_tZint_fast32_tZint_fast64_tZuint_fast8_tZ
uint_fast16_tZ
uint_fast32_tZ
uint_fast64_tZintptr_tZ	uintptr_tZintmax_tZ	uintmax_t)Z	clockid_tZ	cpu_set_tZ	cpumask_tZdev_tZgid_tZid_tZino_tZkey_tZmode_tZnfds_tZpid_tZrlim_tZsig_tZsighandler_tZ	siginfo_tZsigset_tZsigval_tZ	socklen_tZtimer_tZuid_tcKs<t|dd�|_t|dd�|_t|dd�|_tj|f|�dS)N�stdlibhighlightingT�c99highlighting�platformhighlighting)r
rArBrCr�__init__)�self�options�rG�F/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/c_cpp.pyrD�szCFamilyLexer.__init__ccszxtt�||�D]d\}}}|tkrf|jr8||jkr8tj}n.|jrP||jkrPtj}n|j	rf||j
krftj}|||fVqWdS)N)r�get_tokens_unprocessedrrA�stdlib_typesr�TyperB�	c99_typesrC�linux_types)rE�text�index�token�valuerGrGrHrI�sz#CFamilyLexer.get_tokens_unprocessedN),�__name__�
__module__�__qualname__�__doc__Z_wsZ_ws1rZPreprocrrrr�SingleZ	Multiliner�AffixZCharrZFloatZHex�OctZIntegerrr
rr	rrK�ReservedrZBuiltinZLabelrZFunctionrZEscapeZPreprocFile�tokens�setrJrLrMrDrIrGrGrGrHrs�












rc@s8eZdZdZdZdgZdddgZddgZd	Zd
d�Z	dS)
rz9
    For C source code with preprocessor directives.
    �C�cz*.cz*.hz*.idcztext/x-chdrztext/x-csrcg�������?cCs,t�d|tj�rdSt�d|tj�r(dSdS)Nz^\s*#include [<"]g�������?z
^\s*#ifn?def )�re�search�	MULTILINE)rNrGrGrH�analyse_text�szCLexer.analyse_textN)
rRrSrTrU�name�aliases�	filenames�	mimetypes�priorityrarGrGrGrHr�s
c@s�eZdZdZdZddgZddddd	d
ddd
dddgZddgZdZe	ddd�e
fde
jfdee
e
�dfdeejeejejeeje�fdeeje�dfegee	dddd�e
jfd e
jfgd!ejd"fd#e
d"fgd$�Zd%d&�Zd'S)(rz;
    For C++ source code with preprocessor directives.
    zC++�cppzc++z*.cppz*.hppz*.c++z*.h++z*.ccz*.hhz*.cxxz*.hxxz*.Cz*.Hz*.cpz*.CPPz
text/x-c++hdrz
text/x-c++srcg�������?)$ZcatchZ
const_cast�deleteZdynamic_cast�explicitZexportZfriendZmutable�	namespace�new�operatorZprivateZ	protected�publicZreinterpret_castr.Zstatic_cast�templater�throwZthrowsr3Ztypeidr0rZvirtualZ	constexprZnullptrZdecltypeZthread_localZalignasZalignofZ
static_assertZnoexcept�override�finalz\b)r,zchar(16_t|32_t)\bz(class)(\s+)�	classnamez/(R)(")([^\\()\s]{,16})(\()((?:.|\n)*?)(\)\3)(")z(u8|u|U)(")r)Zvirtual_inheritanceZuuidof�superZsingle_inheritanceZmultiple_inheritanceZ	interface�eventr7)r8r,z#__(offload|blockingoffload|outer)\bz[a-zA-Z_]\w*z#popz\s*(?=>))r<r@rrcCs$t�d|�rdSt�d|�r dSdS)Nz#include <[a-z_]+>g�������?zusing namespace g�������?)r^r_)rNrGrGrHra�szCppLexer.analyse_textN)rRrSrTrUrbrcrdrerfr	rrKrrrrWZ	DelimiterrrYZPseudorZClassrZrarGrGrGrHr�s2


)rUr^Zpygments.lexerrrrrrrrr	Z
pygments.utilr
Zpygments.tokenrrr
rrrrrr�__all__rrrrGrGrGrH�<module>
s(,