File: //lib/python3/dist-packages/pygments/lexers/__pycache__/solidity.cpython-311.pyc
�
�E�c7 � �p � d Z ddlmZmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZmZ dgZ G d� de� � ZdS )z�
pygments.lexers.solidity
~~~~~~~~~~~~~~~~~~~~~~~~
Lexers for Solidity.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� )�
RegexLexer�bygroups�include�words) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�
Whitespace�
SolidityLexerc �R � e Zd ZdZdZdgZdgZg ZdZ e d� � e d� � de
d fd
ee
ee
j � � fedz dz ee
j ee
e
j � � fd
ee
j ee
j � � fde
f eddd�� � e
j f eddd�� � e
j fee
j f e d� � defdefdefgdej fdej fdej fgdej fdej fdej fdej fg e d� � e d� � d eeee
� � fded fgd!efd"efgd#�Zd$S )%r z>
For Solidity source code.
.. versionadded:: 2.5
�Solidity�solidityz*.solz�\b(address|bool|(?:(?:bytes|hash|int|string|uint)(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?))\b�
whitespace�commentsz\bpragma\s+solidity\b�pragmaz\b(contract)(\s+)([a-zA-Z_]\w*)z/(\s+)((?:external|public|internal|private)\s+)?z([a-zA-Z_]\w*)z1\b(enum|event|function|struct)(\s+)([a-zA-Z_]\w*)z,\b(msg|block|tx)\.([A-Za-z_][a-zA-Z0-9_]*)\b)%�block�break�constant�constructor�continue�contract�do�else�external�false�for�function�if�import� inherited�internal�is�library�mapping�memory�modifier�msg�new�payable�private�public�require�return�returns�struct�suicide�throw�this�true�tx�var�whilez\b)�prefix�suffix)� keccak256� constantsz[a-zA-Z_]\w*z[~!%^&*+=|?:<>/-]z
[.;{}(),\[\]]z//(\n|[\w\W]*?[^\\]\n)z/(\\\n)?[*][\w\W]*?[*](\\\n)?/z/(\\\n)?[*][\w\W]*z
("(\\"|.)*?")z
('(\\'|.)*?')z\b0[xX][0-9a-fA-F]+\bz\b\d+\bz(\^|>=|<)(\s*)(\d+\.\d+\.\d+)�;z#popz\s+z\n)�rootr r? r r N)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes�datatyper r
r r r �Entity�Type�Variabler �Builtinr r r r �Single� Multiliner �Doubler
�Hex�Decimal�tokens� � �:/usr/lib/python3/dist-packages/pygments/lexers/solidity.pyr r s � � � � � �� � �D��l�G�� �I��I� *�
�
�G�L�!�!��G�J���
%�w��9�
/�
�X�g�z�4�;�
7�
7�
9�
�J�
J�
��
�X�g�l�J����
G�
G�
I� B�
�X�g�l�J��
�
>�
>�
@�
<�g�F�
�U� &� /4�E�C� C� C� �\�
� �U�>�%��
>�
>�
>���M�
�w�|�$��G�K� � �
�d�#�
!�8�,�
�{�+�5
�: '���7�
.��0A�B�
"�G�$5�6�
� �v�}�-�
�v�}�-�
%�v�z�2�
���(�
�
�G�L�!�!��G�J���
-�
�X�h�
�G�
4�
4�
6�
�;��'�
� �Z� �
�J��
�_3� 3�F�F�FrV N)rE �pygments.lexerr r r r �pygments.tokenr r r r
r r r
r r �__all__r rU rV rW �<module>r[ s� ��� � @� ?� ?� ?� ?� ?� ?� ?� ?� ?� ?� ?�$� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� $� �
��E� E� E� E� E�J� E� E� E� E� ErV