File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/solidity.cpython-310.pyc
o
���ac � @ sj d Z ddlZddlmZmZmZmZ ddlmZm Z m
Z
mZmZm
Z
mZmZmZ dgZG dd� de�ZdS )z�
pygments.lexers.solidity
~~~~~~~~~~~~~~~~~~~~~~~~
Lexers for Solidity.
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�bygroups�include�words) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�
Whitespace�
SolidityLexerc @ sF e Zd ZdZdZdgZdgZg Zej ej
B ZdZe
d�e
d�ded fd
eeeej�fed d eejeeej�fd
eejeej�fdefedddd�ejfedddd�ejfeejfe
d�defdefdefgdejfdejfdejfgdejfdejfdej fdej!fge
d�e
d�deeee�fded fgd!efd"efgd#�Z"d$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�re� MULTILINE�UNICODE�flags�datatyper r r r r
�Entity�Type�Variabler �Builtinr r r
r �Single� Multiliner �Doubler �Hex�Decimal�tokens� rW rW �:/usr/lib/python3/dist-packages/pygments/lexers/solidity.pyr sp ������� ���
���
�)rC rH �pygments.lexerr r r r �pygments.tokenr r r r r
r r r
r �__all__r rW rW rW rX �<module> s
,