Your IP : 216.73.216.52


Current Path : /snap/certbot/current/lib64/python3.12/site-packages/pycparser/__pycache__/
Upload File :
Current File : //snap/certbot/current/lib64/python3.12/site-packages/pycparser/__pycache__/c_lexer.cpython-312.pyc

�

tI�iCb���UddlZddlmZddlmZddlmZmZmZm	Z	m
Z
ed��Gd�d��ZGd	�d
�ZdZ
e
edfed
<iZeeefed<e
D]oZej%d�rIee�dkDr>edj)�r+eeeddj+�eddj-�z<�]eeej-�<�qdZdZdZdZdZdZdezdzezdzZdezZeezezZeezezZ dZ!dZ"dZ#dZ$d Z%d!Z&d"Z'd#e$zd$ze%zd$ze&zd%zZ(d&Z)d'e(zdzZ*d(e*zd(zZ+d)e+zZ,d*e+zZ-d+e+zZ.d,e+zZ/d(e*zd-zZ0d.e*zd/ze*zd0zZ1d.e*zd1ze'zd2zZ2d3e)zdzZ3d4e3zd5zZ4d)e4zZ5d*e4zZ6d+e4zZ7d,e4zZ8d4e3zd6ze'ze3zd5zZ9d7Z:d8Z;d9e;zdze:zd:ze:zd;zZ<d<Z=d=ezd>zezd?zezd@zZ>dAezdAzezd$ze>zdze=zdBzZ?GdC�dDe�Z@ed�E�GdF�dG��ZAeAdHe"e@j�dI�eAdJe#e@j�dI�eAdKe9e@j�dL�eAdMe5e@j�d�eAdNe6e@j�d�eAdOe7e@j�d�eAdPe8e@j�d�eAdQe4e@j�d�eAdRe?e@j�d�eAdSe<e@j�d�eAdTee@j�d�eAdUe e@j�d�eAdVe!e@j�dW�eAdXee@j�d�eAdYee@j�d�eAdZe0e@j�d�eAd[e+e@j�d�eAd\e,e@j�d�eAd]e-e@j�d�eAd^e.e@j�d�eAd_e/e@j�d�eAd`e1e@j�da�eAdbe2e@j�d�eAdcee@j�d�gZEeeAedd<iZFeee
e@e	effede<gZGeeedf<eED]SZHeHj�eHj�feFeHj�<eGj�dgeHj��dheHj��d���Uej�d$j�eG��ZPej�eedi<ed�E�Gdj�dk��ZRgeRdldm��eRdndo��eRdpdq��eRdrds��eRdtdu��eRdvdw��eRdxdy��eRdzd{��eRd|d}��eRd~d��eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d6��eRd�d���eRd�d���eRd�d$��eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�dh��eRd�d���eRd�dA��eRd�d��eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d���eRd�d«�ZSeeRed�<iZTeeeeRfed�<eSD]0ZUeTj�eUj�dg�j�eU��2eTj��D]ZYeYj�dńd�ƫ�ej�dǫZ[ej�eed�<ej�dɫZ\ej�eed�<y)��N)�	dataclass)�Enum)�Callable�Dict�List�Optional�TupleT)�slotsc�6�eZdZUeed<eed<eed<eed<y)�_Token�type�value�lineno�columnN)�__name__�
__module__�__qualname__�str�__annotations__�int����/build/snapcraft-certbot-53a6961353a63169611ae8a78f6bfa4f/parts/certbot/install/lib/python3.12/site-packages/pycparser/c_lexer.pyrrs��

�I��J��K��Krrc
��eZdZdZdeeeegdfdegdfdegdfdeegefddf
d�Zdd	ed
eddfd�Z	dd�Z
edefd
��Zde
efd�Zde
efd�Zdedededefd�Zdededdfd�Zdd�Zdeefd�Zy)�CLexera�A standalone lexer for C.

    Parameters for construction:
        error_func:
            Called with (msg, line, column) on lexing errors.
        on_lbrace_func:
            Called when an LBRACE token is produced (used for scope tracking).
        on_rbrace_func:
            Called when an RBRACE token is produced (used for scope tracking).
        type_lookup_func:
            Called with an identifier name; expected to return True if it is
            a typedef name and should be tokenized as TYPEID.

    Call input(text) to initialize lexing, and then keep calling token() to
    get the next token, until it returns None (at end of input).
    �
error_funcN�on_lbrace_func�on_rbrace_func�type_lookup_func�returnc�\�||_||_||_||_|j	�y�N)rrrr�_init_state)�selfrrrrs     r�__init__zCLexer.__init__)s/��%���,���,��� 0������r�text�filenamec�@�|j�||_||_y)z�Initialize the lexer to the given input text.

        filename is an optional name identifying the file from which the input
        comes. The lexer can modify it if #line directives are encountered.
        N)r#�_lexdata�	_filename)r$r&r's   r�inputzCLexer.input6s��	
������
�!��rc�X�d|_d|_d|_d|_d|_d|_y)N�r�)r)r*�_pos�_line_start�_pending_tok�_lineno�r$s rr#zCLexer._init_state@s.����
������	����.2�����rc��|jSr")r*r3s rr'zCLexer.filenameHs���~�~�rc���|j}t|�}|j�|j}d|_|S|j|k�r�||jxxdk(rnxdk(rnn|xjdz
c_�nPxdk(r>|xjdz
c_|xjdz
c_|j|_�n
dk(r�tj||jdz�r&|xjdz
c_|j���tj||jdz�rR|xjdz
c_|j�}t|�dkDr
|d|_t|�dkDr|dS��K|jdd|j�}|xjdz
c_|S	|j�x}r|S���|j|kr���yy)N� �	r.�
�#r�PPHASH)
r)�lenr1r/r2r0�
_line_pattern�match�_handle_ppline�_pragma_pattern�_handle_pppragma�_make_token�_match_token)r$r&�n�tok�tokss     r�tokenzCLexer.tokenLs~��6�}�}����I�����(��#�#�C� $�D���J��i�i�!�m��t�y�y�/��S�4�Z��I�I��N�I���L�L�A�%�L��I�I��N�I�'+�y�y�D�$��$�*�*�4����Q��?��	�	�Q��	��+�+�-� �&�,�,�T�4�9�9�q�=�A��	�	�Q��	�#�4�4�6���t�9�q�=�04�Q��D�-��t�9�q�=�#'��7�N� ��*�*�8�S�$�)�)�D�C��I�I��N�I��J��"�/�/�1�1�s�1�"�
� �9�i�i�!�mrc�t�|j}|j}d}tj||�x}r?|j}|�J�|j|�}t
|�}t|\}}	|||||	f}tj||�x}
rm|
D]h}|j|j|�s� t
|j�}|�||dkDr)||j|jtjdf}n|�9dt||���}	|j!|	|�|xjdz
c_y|\}}}}}	|tj"k(r@|dk(rd|��}	|	�J�|j!|	|�|xjt%d|�z
c_y|tj&k(r.t(j|d�}|dk(r|j+|�rd}|j-|||�}|xj|z
c_|j.d	k(r|j1�|S|j.d
k(r|j3�|S)z�Match one token at the current position.

        Returns a Token on success, or None if no token could be matched and
        an error was reported. This method always advances _pos by the matched
        length, or by 1 on error/no-match.
        NrzIllegal character r.�BAD_CHAR_CONSTzInvalid char constant �ID�TYPEID�LBRACE�RBRACE)r)r/�
_regex_masterr=�	lastgroup�groupr;�_regex_actions�_fixed_tokens_by_first�get�
startswith�literal�tok_type�_RegexAction�TOKEN�repr�_error�ERROR�maxrI�_keyword_maprrAr
rr)
r$r&�pos�best�mrUr�length�action�msg�bucket�entryrDs
             rrBzCLexer._match_token�s5���}�}���i�i�����#�#�D�#�.�.�1�.��{�{�H��'�'�'��G�G�H�%�E���Z�F�(��2�K�F�C��H�e�V�S�9�D�+�/�/��S�	�:�:�6�:��
���?�?�5�=�=�#�6� ����/�F��|�v��Q��'7�"�!�N�N�!�M�M�(�.�.� � ���
��<�&�t�D��I��&7�8�C��K�K��S�!��I�I��N�I��/3�,���%����\�'�'�'��+�+�.�u�g�6���?�"�?��K�K��S�!��I�I��Q���'�I���\�_�_�$�#�'�'��t�4�H��4��D�$9�$9�%�$@�#�����x���4���	�	�V��	��8�8�x�����!��
��X�X��
!����!��
rrUrr]c�Z�||jz
dz}t|||j|�}|S)a#Create a Token at an absolute input position.

        Expects tok_type/value and the absolute byte offset pos in the current
        input. Does not advance lexer state; callers manage _pos themselves.
        Returns a Token with lineno/column computed from current line tracking.
        r.)r0rr2)r$rUrr]rrDs      rrAzCLexer._make_token�s2���t�'�'�'�!�+���X�u�d�l�l�F�;���
rrbc�b�||jz
dz}|j||j|�y�Nr.)r0rr2)r$rbr]rs    rrYz
CLexer._error�s+���t�'�'�'�!�+������T�\�\�6�2rc�N��	�
����j}t|�}|jd�j��
�
dk(r|�
|�j�
�	d�t�	��d�	��fd�}|��	j	d��r�dz
�dt
td	t
tddf�
��fd
�}dtdtddf�
�fd
�}|���k\r
|dd�y�	�dk(r
|d��ytjt�	�d�}|s
|d��y|jd�}�t|�z
�|���k\r
||d�y�	�dk7r
|d��ytjt�	�d�}|s
|d��y|jd�jd�jd�}�t|jd��z
�	|���k\rnGtjt�	�d�}|s
|d��y�t|jd��z
��T|||�y)Nr8���rr c�H����kr��dvr�dz
���kr	��dvr�yyyy)N� 	r.r)�line�line_lenr]s���r�skip_wsz&CLexer._handle_ppline.<locals>.skip_wss9�����.�T�#�Y�%�%7��q�����.�T�#�Y�%�%7�.�%7�.rrl��pp_line�pp_filenamec���|� �jd�j�z�nt|��_|�|�_�dz�_�j�_y)Nzline number missing in #liner.)rYr/rr2r*r0)rprq�line_endrmr$s  ���r�successz&CLexer._handle_ppline.<locals>.successsO��������:�D�I�I��<P�Q�"�7�|����*�%0�D�N� �1��D�I�#�y�y�D�rrb�offsetc�z���j|�j|z��dz�_�j�_yrg)rYr/r0)rbrursr$s  ��r�failz#CLexer._handle_ppline.<locals>.fails1����K�K��T�Y�Y��/�0� �1��D�I�#�y�y�D�r�"z$filename before line number in #linezinvalid #line directive�r N)r)r;�findr/rSrrr�rer=�_decimal_constantrO�_string_literal�lstrip�rstrip)
r$r&rCrnrtrwr_rprqrlrsrmr]s
`        @@@@rr>zCLexer._handle_ppline�s"���(�}�}����I���9�9�T�4�9�9�-���r�>��H��D�I�I��)�����t�9��	�
	�	��?�?�6�3�'��1�H�C�	)�X�c�]�	)��#��	)�4�	)�	)�c�	)�3�	)�4�	)�
	�	��(�?��D�$�����9����7��=���H�H�&��S�T�
�3����*�C�0���'�'�!�*���s�7�|����	��(�?��G�T�"����9����*�C�0���H�H�_�d�3�4�j�1����*�C�0���g�g�a�j�'�'��,�3�3�C�8���s�1�7�7�1�:������I��h������*�D���J�7�A���.��4���3�q�w�w�q�z�?�"�C��	���%rc��|j}t|�}|j}||kr||dvr|dz
}||kr||dvr�||k\r	||_gS|jd|�s|j	d|�|dz|_gS|}|td�z
}|jdd|�g}||kr||dvr|dz
}||kr||dvr�|}||kr||dk7r|dz
}||kr	||dk7r�||kDr%|j
|jd||||��||kr)||dk(r!|xjdz
c_|dz
}||_||_|S)Nrkr.�pragmazinvalid #pragma directive�PPPRAGMAr8�PPPRAGMASTR)	r)r;r/rSrYrA�appendr2r0)r$r&rCr]�
pragma_posrE�starts       rr@zCLexer._handle_pppragmaKs����}�}����I���i�i���A�g�$�s�)�u�,��1�H�C��A�g�$�s�)�u�,��!�8��D�I��I����x��-��K�K�3�S�9��a��D�I��I��
��s�8�}���� � ��X�z�B�C���A�g�$�s�)�u�,��1�H�C��A�g�$�s�)�u�,����A�g�$�s�)�t�+��1�H�C��A�g�$�s�)�t�+���;��K�K��(�(���U�3���O�P���7�t�C�y�D�(��L�L�A��L��1�H�C�"�D����	��r)r-ry)rrr�__doc__rrr�boolr%r+r#�propertyr'rrrFrBrArYr>rr@rrrrrs���"��c�3��_�d�2�3��!��T��*��!��T��*�	�
#�C�5�$�;�/��
�
�"�#�"��"�d�"����#����?!�x��'�?!�BK�h�v�.�K�Z	�C�	��	�#�	�&�	�3�#�3�C�3�D�3�`&�D*�$�v�,�*rr)-�AUTO�BREAK�CASE�CHAR�CONST�CONTINUE�DEFAULT�DO�DOUBLE�ELSE�ENUM�EXTERN�FLOAT�FOR�GOTO�IF�INLINE�INT�LONG�REGISTER�OFFSETOF�RESTRICT�RETURN�SHORT�SIGNED�SIZEOF�STATIC�STRUCT�SWITCH�TYPEDEF�UNION�UNSIGNED�VOID�VOLATILE�WHILE�__INT128�_BOOL�_COMPLEX�	_NORETURN�
_THREAD_LOCAL�_STATIC_ASSERT�_ATOMIC�_ALIGNOF�_ALIGNAS�_PRAGMA.�	_keywordsr\�_r.�z[a-zA-Z_$][0-9a-zA-Z_$]*z0[xX]z[0-9a-fA-F]+z0[bB]z[01]+zD(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?z(0z)|([1-9][0-9]*�)z0[0-7]*z0[0-7]*[89]z\/\*z\/\/z,([a-wyzA-Z._~!=&\^\-\\?'"]|x(?![0-9a-fA-F]))z(\d+)(?!\d)z(x[0-9a-fA-F]+)(?![0-9a-fA-F])z#([\\][^a-zA-Z._~^!=&\^\-\\?'"x0-9])z(\\(�|z))z(\\[0-9a-zA-Z._~!=&\^\-\\?'"])z
([^'\\\n]|�'�L�u8�u�Uz{2,4}'z('z*\n)|('z*$)z[^'
]+')|('')|('z	[^'\n]*')z
([^"\\\n]|rxz*"�*z([eE][-+]?[0-9]+)z([0-9]*\.[0-9]+)|([0-9]+\.)z((((z
?)|([0-9]+z
))[FfLl]?)z([pP][+-]?[0-9]+)z(((z)?\.z)|(z\.))�(z[FfLl]?)c��eZdZdZdZdZy)rVrr.r�N)rrrrWrIrZrrrrVrV2s��
�E�	
�B�
�ErrV)�frozenc�<�eZdZUeed<eed<eed<eeed<y)�
_RegexRulerU�
regex_patternra�
error_messageN)rrrrrrVrrrrr�r�8s���M������C�=� rr��UNSUPPORTED_C_STYLE_COMMENTzKComments are not supported, see https://github.com/eliben/pycparser#3using.�UNSUPPORTED_CXX_STYLE_COMMENT�BAD_STRING_LITERALz#String contains invalid escape code�WSTRING_LITERAL�U8STRING_LITERAL�U16STRING_LITERAL�U32STRING_LITERAL�STRING_LITERAL�HEX_FLOAT_CONST�FLOAT_CONST�
INT_CONST_HEX�
INT_CONST_BIN�
BAD_CONST_OCTzInvalid octal constant�
INT_CONST_OCT�
INT_CONST_DEC�INT_CONST_CHAR�
CHAR_CONST�WCHAR_CONST�U8CHAR_CONST�
U16CHAR_CONST�
U32CHAR_CONST�UNMATCHED_QUOTEzUnmatched 'rHrI�_regex_rulesrP�_regex_pattern_partsz(?P<�>rMc�"�eZdZUeed<eed<y)�_FixedTokenrUrTN)rrrrrrrrr�r�s���M�
�Lrr��ELLIPSISz...�LSHIFTEQUALz<<=�RSHIFTEQUALz>>=�PLUSPLUSz++�
MINUSMINUSz--�ARROWz->�LANDz&&�LORz||�LSHIFTz<<�RSHIFTz>>�LEz<=�GEz>=�EQz==�NEz!=�
TIMESEQUALz*=�DIVEQUALz/=�MODEQUALz%=�	PLUSEQUALz+=�
MINUSEQUALz-=�ANDEQUALz&=�OREQUALz|=�XOREQUALz^=�EQUALS�=�PLUS�+�MINUS�-�TIMES�DIVIDE�/�MOD�%�OR�AND�&�NOT�~�XOR�^�LNOT�!�LT�<�GT�CONDOP�?�LPAREN�RPAREN�LBRACKET�[�RBRACKET�]rK�{rL�}�COMMA�,�PERIOD�.�SEMI�;�COLON�:�
_fixed_tokensrQc�,�t|j�Sr")r;rT)�items r�<lambda>r&�s��#�d�l�l�"3�r)�key�reversez([ \t]*line\W)|([ \t]*\d+)r<z[ \t]*pragma\Wr?)]r{�dataclassesr�enumr�typingrrrrr	rrr�rrr\�keywordrSr;�isalpha�upper�lower�_identifier�_hex_prefix�_hex_digits�_bin_prefix�_bin_digits�_integer_suffix_optr|�_octal_constant�
_hex_constant�
_bin_constant�_bad_octal_constant�_unsupported_c_style_comment�_unsupported_cxx_style_comment�_simple_escape�_decimal_escape�_hex_escape�_bad_escape�_escape_sequence� _escape_sequence_start_in_string�_cconst_char�_char_const�_wchar_const�
_u8char_const�_u16char_const�_u32char_const�_multicharacter_constant�_unmatched_quote�_bad_char_const�_string_charr}�_wstring_literal�_u8string_literal�_u16string_literal�_u32string_literal�_bad_string_literal�_exponent_part�_fractional_constant�_floating_constant�_binary_exponent_part�_hex_fractional_constant�_hex_floating_constantrVr�rZrWrIr�rPr��_rulerar�rUr�r��compile�joinrM�Patternr�r#rQ�_entry�
setdefaultrT�values�_bucket�sortr<r?rrr�<module>r`s�
��
�!��8�8��������^�^�H.�	�5��c��?�.�` "��d�3��8�n�!��0�G����#��3�w�<�!�#3���
�8J�8J�8L�BI��W�R�a�[�&�&�(�7�1�2�;�+<�+<�+>�>�?�(/��W�]�]�_�%�0�*����������L��	���!1�1�4G�G�#�M���1�1���k�)�,?�?�
��k�)�,?�?�
�#�� '��!(��BE��$��3��8���.� �3�&��8�3�>��L�t�S��$I� � �#3�3�c�9���L� �3�&���[� ���{�"�
��{�"���{�"����-��8���,�&��3�l�B�U�J��
���6�6��D�GW�W��
!�#C�C�c�I����$�t�+����(���?�*���?�*���?�*���L�(�3�.��<�|�K�d�R��*��9��
���	�
����	�
���
��1��	�K��+�%��3�e�;�k�I�K�W�����	�
���
�	
�
��
�

�������4���$��!�!��!��%�$����U�	��'�&����U�	�������-�	�� �"2�L�4F�4F��M��!�#4�l�6H�6H�$�O��"�$6��8J�8J�D�Q��"�$6��8J�8J�D�Q����,�2D�2D�d�K�� �"8�,�:L�:L�d�S��}�0�,�2D�2D�d�K���
�|�/A�/A�4�H���
�|�/A�/A�4�H������� �	�����1C�1C�T�J��� 1�<�3E�3E�t�L���!9�<�;M�;M�t�T��|�[�,�*<�*<�d�C��}�l�L�,>�,>��E��~�}�l�.@�.@�$�G�����0B�0B�D�I�����0B�0B�D�I�� �"2�L�4F�4F�
�V����,�2D�2D�d�K��t�[�,�/�/�4�8�Y-"��d�:��-�^AC���S�%��h�s�m� ;�<�<�=�B�"$��d�3�i�$�
�P�E�&+�l�l�E�4G�4G�%H�N�5�>�>�"����$�u�~�~�&6�a��8K�8K�7L�A� N�O�P�",����C�H�H�5I�,J�!K�
�r�z�z�#��K��$������
/$��
�E�"�/$��
�u�%�/$��
�u�%�/$��
�D�!�	/$�
��d�#�/$�����
/$�����/$���t��/$���$��/$���$��/$���d��/$���d��/$���d��/$���d��/$���d�#�/$� �
�D�!�!/$�"�
�D�!�#/$�$��T�"�%/$�&��d�#�'/$�(�
�D�!�)/$�*�	�4� �+/$�,�
�D�!�-/$�.��#��//$�0����1/$�2����3/$�4����5/$�6��#��7/$�8��s��9/$�:��c��;/$�<��s��=/$�>��s��?/$�@��s��A/$�B����C/$�D��c��E/$�F��c��G/$�H��#��I/$�J��#��K/$�L��#��M/$�N�
�C� �O/$�P�
�C� �Q/$�R��#��S/$�T��#��U/$�V����W/$�X��#��Y/$�Z����[/$�\����]/$�
�t�K� �/�l8:���S�$�{�"3�3�4�9��L�F��%�%�f�n�n�Q�&7��<�C�C�F�K�L�%�,�,�.�C�G��L�L�3�T�L�B�C�",����,I�!J�
�r�z�z�#��J�#-�2�:�:�.?�#@�����C��@r