File: //opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/vyper.cpython-310.pyc
o
;j� � @ s^ d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
mZ dgZG dd� de�ZdS )z�
pygments.lexers.vyper
~~~~~~~~~~~~~~~~~~~~~
Lexer for the Vyper Smart Contract language.
:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� )�
RegexLexer�bygroups�words) �Comment�String�Name�Keyword�Number�Operator�Punctuation�Text�
Whitespace�
VyperLexerc @ s� e Zd ZdZdZdgZdgZdZdZde fde
ee �fd ej
fd
ejdfdej
d
fdejdfde
ee ej�fde
ee ej�fde
ee eje ee ej�fdejfdejfdejfedddd�efedddd�ejfedddd�ejfedddd�ejjfedddd�ejfde
ee ee eje�fde fdefd ej!fd!ej"fd"ej#fd#ejfd$ej$fd%ejfd&ej%fd'efgd
ejd(fd)ejfd*ejfgd+ej
fdej
d(fd,ej&fgd-ejfdejd(fd,ej&fgd.�Z'd/S )0r z+For the Vyper smart contract language.
ZVyperZvyperz*.vyzhttps://vyper.readthedocs.ioz2.17z\s+z(\\)(\n|\r\n|\r)z#.*$z\"\"\"�multiline-comment�'�
single-string�"�
double-stringz"(def)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)z9(event|struct|interface|log)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)z.(from)(\s+)(vyper\.\w+)(\s+)(import)(\s+)(\w+)z\b0x[0-9a-fA-F]+\bz\b(\d{1,3}(?:_\d{3})*|\d+)\bz\b\d+\.\d*\b)�def�event�pass�return�for�while�if�elif�else�assert�raise�import�in�structZ
implementsZ interface�fromZindexed�logZextcallZ
staticcallz\b)�prefix�suffix)ZpublicZprivate�viewZpureZconstantZ immutableZ
nonpayable)+Zbitwise_andZbitwise_notZ
bitwise_orZbitwise_xor�shiftZcreate_minimal_proxy_toZcreate_copy_ofZcreate_from_blueprintZecaddZecmulZ ecrecoverZ keccak256�sha256�concat�convertZuint2strZ extract32�slice�abs�ceil�floor�maxZ max_value�minZ min_valueZ
pow_mod256�sqrt�isqrtZuint256_addmodZuint256_mulmodZ
unsafe_addZ
unsafe_subZ
unsafe_mulZ
unsafe_divZas_wei_valueZ blockhash�empty�lenZ method_idZ_abi_encodeZ_abi_decode�print�range)z
msg.senderz msg.valuezblock.timestampzblock.numberzmsg.gas)6ZuintZuint8Zuint16Zuint32Zuint64Zuint128Zuint256�intZint8Zint16Zint32Zint64Zint128Zint256�bool�decimal�bytesZbytes1Zbytes2Zbytes3Zbytes4Zbytes5Zbytes6Zbytes7Zbytes8Zbytes9Zbytes10Zbytes11Zbytes12Zbytes13Zbytes14Zbytes15Zbytes16Zbytes17Zbytes18Zbytes19Zbytes20Zbytes21Zbytes22Zbytes23Zbytes24Zbytes25Zbytes26Zbytes27Zbytes28Zbytes29Zbytes30Zbytes31Zbytes32�stringr �address�enumr! z)\b(indexed)\b(\s*)(\()(\s*)(\w+)(\s*)(\))z$(\+|\-|\*|\/|<=?|>=?|==|!=|=|\||&|%)z[.,:;()\[\]{}]z@[\w.]+z__\w+__Z
EMPTY_BYTES32z \bERC20\bz\bself\bzBytes\[\d+\]z\b[a-zA-Z_]\w*\b:z\b[a-zA-Z_]\w*\bz#popz[^"]+z\"z[^\\']+z\\.z[^\\"]+)�rootr r r N)(�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames�urlZ
version_addedr
r r r �SingleZ Multiliner �Doubler r ZFunctionZClass� Namespacer ZHexZIntegerZFloatr ZDeclarationZBuiltinZPseudo�Typer r
Z DecoratorZMagicZConstantZ AttributeZVariableZEscape�tokens� rL rL �I/opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/vyper.pyr s�
������������� �
���
`�
�
�
�N)rB Zpygments.lexerr r r Zpygments.tokenr r r r r r
r r r
�__all__r rL rL rL rM �<module> s
,