Ë
    |í¼eƒ
  ã                   ód   — d Z ddlmZmZmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZ dgZ G d„ de«      Zy)zÏ
    pygments.lexers.eiffel
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Eiffel language.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚincludeÚwordsÚbygroups)ÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚEiffelLexerc                   ó  — e Zd ZdZdZdZdgZdgZdgZde	fde
j                  fde	fd	ej                  fd
ej                  fd eej                  e	ej                  «      fd eej                  e	ej                  «      f eddd¬«      ej$                  fdefdef ed«      dej*                  fdefdefdefdej0                  fde	fgdej4                  fdej6                  fdej8                  fdej:                  fdej<                  fgdœZy )!r   z<
    For Eiffel source code.

    .. versionadded:: 2.0
    ÚEiffelzhttps://www.eiffel.comÚeiffelz*.eztext/x-eiffelz[^\S\n]+z--.*?$z0(?i)(true|false|void|current|result|precursor)\bz(?i)(not|xor|implies|or)\bz(?i)(and)(?:(\s+)(then))?\bz(?i)(or)(?:(\s+)(else))?\b)3ÚacrossÚagentÚaliasÚallÚasÚassignÚattachedÚ	attributeÚcheckÚclassÚconvertÚcreateÚdebugÚdeferredÚ
detachableÚdoÚelseÚelseifÚendÚensureÚexpandedÚexportÚexternalÚfeatureÚfromÚfrozenÚifÚinheritÚinspectÚ	invariantÚlikeÚlocalÚloopÚnoneÚnoteÚobsoleteÚoldÚonceÚonlyÚredefineÚrenameÚrequireÚrescueÚretryÚselectÚseparateÚthenÚundefineÚuntilÚvariantÚwhenz(?i)\bz\b)ÚprefixÚsuffixz"\[([^\]%]|%(.|\n)|\][^"])*?\]"z"([^"%\n]|%.)*?"Únumbersz'([^'%]|%'|%%)'z4(//|\\\\|>=|<=|:=|/=|~|/~|[\\?!#%&@|+/\-=>*$<^\[\]])z([{}():;,.])z$([a-z]\w*)|([A-Z][A-Z0-9_]*[a-z]\w*)z([A-Z][A-Z0-9_]*)z\n+z0[xX][a-fA-F0-9]+z
0[bB][01]+z0[cC][0-7]+z!([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)z[0-9]+)ÚrootrH   N) Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesr   r   ÚSingler	   ÚConstantr   ÚWordr   r   ÚReservedr   r   ÚCharr   r
   ÚClassr   ÚHexÚBinÚOctÚFloatÚIntegerÚtokens© ó    ú8/usr/lib/python3/dist-packages/pygments/lexers/eiffel.pyr   r      sf  „ ñð
 €DØ
"€CØˆj€GØ�€IØ Ð!€Ið ˜*Ð%Ø˜Ÿ™Ð'Ø˜*Ð%à@À'×BRÑBRÐSØ*¨H¯M©MÐ:Ø+Ù�h—m‘m Z°·±Ó?ðAà*Ù�h—m‘m Z°·±Ó?ðAáð 8ð AJÐRWôYð ×Ñð	ð 0°Ð8Ø  &Ð)Ù�IÓØ §¡Ð-ØDÀhÐOØ˜kÐ*Ø4°dÐ;Ø! 4§:¡:Ð.Ø�ZÐ ð;
ð@ " 6§:¡:Ð.Ø˜FŸJ™JÐ'Ø˜VŸZ™ZÐ(Ø1°6·<±<Ð@Ø˜Ÿ™Ð'ð
ñA'�Fr`   N)rM   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   Ú__all__r   r_   r`   ra   ú<module>re      s7   ðñ÷ @Ó ?÷÷ ó ð ˆ/€ô3�*õ 3r`   