o ac @sjdZddlZddlmZmZmZmZddlmZm Z m Z m Z m Z m Z mZmZmZdgZGdddeZdS)z pygments.lexers.solidity ~~~~~~~~~~~~~~~~~~~~~~~~ Lexers for Solidity. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerbygroupsincludewords) TextCommentOperatorKeywordNameStringNumber Punctuation Whitespace SolidityLexerc@sFeZdZdZdZdgZdgZgZej ej BZ dZ e de dded fd eeeejfe d d eejeeejfd eejeejfdefeddddejfeddddejfe ejfe ddefdefdefgdejfdejfdejfgdejfdejfdej fdej!fge de ddeeeefded fgd!efd"efgd#Z"d$S)%rz> For Solidity source code. .. versionadded:: 2.5 Soliditysolidityz*.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 whitespacecommentsz\bpragma\s+solidity\bpragmaz\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)%blockbreakconstant constructorcontinuecontractdoelseexternalfalseforfunctionifimport inheritedinternalislibrarymappingmemorymodifiermsgnewpayableprivatepublicrequirereturnreturnsstructsuicidethrowthistruetxvarwhilez\b)prefixsuffix) 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)rootrr=rrN)#__name__ __module__ __qualname____doc__namealiases filenames mimetypesre MULTILINEUNICODEflagsdatatyperr rrr EntityTypeVariablerBuiltinrrr rSingle Multiliner Doubler HexDecimaltokensrWrW:/usr/lib/python3/dist-packages/pygments/lexers/solidity.pyrsp     )rCrHpygments.lexerrrrrpygments.tokenrrrr r r r r r__all__rrWrWrWrXs  ,